repair JIT-inlined hash-ref

The attempt in 82517622c7 was wrong. Using `JIT_R0` for
the result in the internal ABI is fine, and the problem
was using a register for two purposes in the called
stub.
This commit is contained in:
Matthew Flatt 2018-04-15 17:23:39 -06:00
parent c79fba4ca6
commit d2ef35082a
2 changed files with 2 additions and 2 deletions

View File

@ -4104,7 +4104,7 @@ static int more_common1(mz_jit_state *jitter, void *_data)
sjc.hash_ref_code = jit_get_ip();
mz_prolog(JIT_R2);
mz_prolog(JIT_V1);
jit_subi_p(JIT_RUNSTACK, JIT_RUNSTACK, WORDS_TO_BYTES(3));
CHECK_RUNSTACK_OVERFLOW();
jit_str_p(JIT_RUNSTACK, JIT_R0);

View File

@ -5586,7 +5586,7 @@ int scheme_generate_inlined_nary(mz_jit_state *jitter, Scheme_App_Rec *app, int
scheme_mz_load_retained(jitter, JIT_R2, app->args[3]);
(void)jit_calli(sjc.hash_ref_code);
jit_retval(dest);
jit_movr_p(dest, JIT_R0);
CHECK_LIMIT();
__START_SHORT_JUMPS__(1);