From 38d90a5b0b68da012b9a120eb47ec6ee86b18d33 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Fri, 26 Jun 2020 15:21:09 -0600 Subject: [PATCH] bc: fix some JIT mismatches Using a newer GCC on arm32 exposed several small problems. --- racket/src/racket/src/jitcall.c | 2 +- racket/src/racket/src/jitcommon.c | 4 ++-- racket/src/racket/src/jitinline.c | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/racket/src/racket/src/jitcall.c b/racket/src/racket/src/jitcall.c index 66a0044f9e..a42a4933e2 100644 --- a/racket/src/racket/src/jitcall.c +++ b/racket/src/racket/src/jitcall.c @@ -2483,7 +2483,7 @@ static int generate_unsafe_struct_ref_sequence(mz_jit_state *jitter, Scheme_Obje jit_addi_p(JIT_R1, JIT_RUNSTACK, WORDS_TO_BYTES(stack_pos)); jit_str_p(JIT_R1, JIT_R0); jit_movi_i(JIT_V1, base); - jit_movi_p(JIT_R0, count); + jit_movi_i(JIT_R0, count); (void)jit_calli(sjc.struct_raw_refs_code); ref2 = jit_jmpi(jit_forward()); mz_patch_branch(ref); diff --git a/racket/src/racket/src/jitcommon.c b/racket/src/racket/src/jitcommon.c index e14f5468e1..5b50125f32 100644 --- a/racket/src/racket/src/jitcommon.c +++ b/racket/src/racket/src/jitcommon.c @@ -1919,8 +1919,8 @@ static int common4(mz_jit_state *jitter, void *_data) mz_prolog(JIT_R2); JIT_UPDATE_THREAD_RSPTR(); jit_prepare(3); - jit_pusharg_p(JIT_R0); - jit_pusharg_p(JIT_V1); + jit_pusharg_i(JIT_R0); + jit_pusharg_i(JIT_V1); jit_pusharg_p(JIT_R1); (void)mz_finish_lwe(ts_unsafe_struct_refs, ref); jit_retval(JIT_R0); diff --git a/racket/src/racket/src/jitinline.c b/racket/src/racket/src/jitinline.c index 8cf9203462..03f625631b 100644 --- a/racket/src/racket/src/jitinline.c +++ b/racket/src/racket/src/jitinline.c @@ -2789,7 +2789,7 @@ static int generate_binary_char(mz_jit_state *jitter, Scheme_App3_Rec *app, int jit_ldxi_i(JIT_R0, JIT_R0, (intptr_t)&SCHEME_CHAR_VAL((Scheme_Object *)0x0)); } else { /* Unlikely, due to folding, but possible due to specialization */ - jit_ldi_i(JIT_R0, SCHEME_CHAR_VAL(r1)); + jit_movi_i(JIT_R0, SCHEME_CHAR_VAL(r1)); } if (!SCHEME_CHARP(r2)) {