diff options
author | Andy Wingo <wingo@pobox.com> | 2023-10-02 11:33:21 +0200 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2023-10-02 14:05:24 +0200 |
commit | 046378a91774bb926b9f8fd7813a410d4ed6ab30 (patch) | |
tree | 1051ca28764649d305db32ee2e9b850efa3e54dd /libguile/jit.c | |
parent | 4daf4664cfe09eddd577537aa16da64ab1096c29 (diff) | |
download | guile-046378a91774bb926b9f8fd7813a410d4ed6ab30.tar.gz |
Widen all jit compiler routines to take 32-bit operands
* libguile/jit.c (compile_*): Instead of using the minimum sized types
that can represent the instruction's operand, use uint32_t. This will
allow us to handle push/pop/drop without moving the SP.
Diffstat (limited to 'libguile/jit.c')
-rw-r--r-- | libguile/jit.c | 360 |
1 files changed, 180 insertions, 180 deletions
diff --git a/libguile/jit.c b/libguile/jit.c index 986606e01..a4ede8921 100644 --- a/libguile/jit.c +++ b/libguile/jit.c @@ -1667,7 +1667,7 @@ compile_instrument_loop_slow (scm_jit_state *j, void *data) } static void -compile_receive (scm_jit_state *j, uint16_t dst, uint16_t proc, uint32_t nlocals) +compile_receive (scm_jit_state *j, uint32_t dst, uint32_t proc, uint32_t nlocals) { jit_gpr_t t = T0; @@ -1680,7 +1680,7 @@ compile_receive (scm_jit_state *j, uint16_t dst, uint16_t proc, uint32_t nlocals j->frame_size_min = j->frame_size_max = nlocals; } static void -compile_receive_slow (scm_jit_state *j, uint16_t dst, uint16_t proc, uint32_t nlocals) +compile_receive_slow (scm_jit_state *j, uint32_t dst, uint32_t proc, uint32_t nlocals) { emit_store_current_ip (j, T0); emit_call_0 (j, scm_vm_intrinsics.error_no_values); @@ -1722,7 +1722,7 @@ compile_receive_values_slow (scm_jit_state *j, uint32_t proc, uint8_t allow_extr } static void -compile_shuffle_down (scm_jit_state *j, uint16_t from, uint16_t to) +compile_shuffle_down (scm_jit_state *j, uint32_t from, uint32_t to) { jit_gpr_t walk = T0, t = T1; size_t offset = (from - to) * sizeof (union scm_vm_stack_element); @@ -1747,7 +1747,7 @@ compile_shuffle_down (scm_jit_state *j, uint16_t from, uint16_t to) j->frame_size_max -= (from - to); } static void -compile_shuffle_down_slow (scm_jit_state *j, uint16_t from, uint16_t to) +compile_shuffle_down_slow (scm_jit_state *j, uint32_t from, uint32_t to) { } @@ -1823,7 +1823,7 @@ compile_subr_call_slow (scm_jit_state *j, uint32_t idx) } static void -compile_foreign_call (scm_jit_state *j, uint16_t cif_idx, uint16_t ptr_idx) +compile_foreign_call (scm_jit_state *j, uint32_t cif_idx, uint32_t ptr_idx) { uint32_t saved_state; @@ -1842,7 +1842,7 @@ compile_foreign_call (scm_jit_state *j, uint16_t cif_idx, uint16_t ptr_idx) j->frame_size_min = j->frame_size_max = 2; /* Return value and errno. */ } static void -compile_foreign_call_slow (scm_jit_state *j, uint16_t cif_idx, uint16_t ptr_idx) +compile_foreign_call_slow (scm_jit_state *j, uint32_t cif_idx, uint32_t ptr_idx) { } @@ -1930,7 +1930,7 @@ compile_abort_slow (scm_jit_state *j) } static void -compile_builtin_ref (scm_jit_state *j, uint16_t dst, uint16_t idx) +compile_builtin_ref (scm_jit_state *j, uint32_t dst, uint16_t idx) { SCM builtin = scm_vm_builtin_ref (idx); @@ -1938,12 +1938,12 @@ compile_builtin_ref (scm_jit_state *j, uint16_t dst, uint16_t idx) emit_sp_set_scm (j, dst, T0); } static void -compile_builtin_ref_slow (scm_jit_state *j, uint16_t dst, uint16_t idx) +compile_builtin_ref_slow (scm_jit_state *j, uint32_t dst, uint16_t idx) { } static void -compile_throw (scm_jit_state *j, uint16_t key, uint16_t args) +compile_throw (scm_jit_state *j, uint32_t key, uint32_t args) { emit_store_current_ip (j, T0); emit_call_2 (j, scm_vm_intrinsics.throw_, sp_scm_operand (j, key), @@ -1952,7 +1952,7 @@ compile_throw (scm_jit_state *j, uint16_t key, uint16_t args) set_register_state (j, UNREACHABLE); } static void -compile_throw_slow (scm_jit_state *j, uint16_t key, uint16_t args) +compile_throw_slow (scm_jit_state *j, uint32_t key, uint32_t args) { } @@ -2140,8 +2140,8 @@ compile_drop_slow (scm_jit_state *j, uint32_t nvalues) } static void -compile_assert_nargs_ee_locals (scm_jit_state *j, uint16_t expected, - uint16_t nlocals) +compile_assert_nargs_ee_locals (scm_jit_state *j, uint32_t expected, + uint32_t nlocals) { jit_gpr_t t = T0; @@ -2160,8 +2160,8 @@ compile_assert_nargs_ee_locals (scm_jit_state *j, uint16_t expected, j->frame_size_min = j->frame_size_max = expected + nlocals; } static void -compile_assert_nargs_ee_locals_slow (scm_jit_state *j, uint16_t expected, - uint16_t nlocals) +compile_assert_nargs_ee_locals_slow (scm_jit_state *j, uint32_t expected, + uint32_t nlocals) { jit_gpr_t t = T0; @@ -2312,7 +2312,7 @@ compile_bind_optionals_slow (scm_jit_state *j, uint32_t nlocals) } static void -compile_allocate_words (scm_jit_state *j, uint16_t dst, uint16_t nwords) +compile_allocate_words (scm_jit_state *j, uint32_t dst, uint32_t nwords) { jit_gpr_t t = T0; @@ -2325,12 +2325,12 @@ compile_allocate_words (scm_jit_state *j, uint16_t dst, uint16_t nwords) emit_sp_set_scm (j, dst, t); } static void -compile_allocate_words_slow (scm_jit_state *j, uint16_t dst, uint16_t nwords) +compile_allocate_words_slow (scm_jit_state *j, uint32_t dst, uint32_t nwords) { } static void -compile_allocate_words_immediate (scm_jit_state *j, uint16_t dst, uint16_t nwords) +compile_allocate_words_immediate (scm_jit_state *j, uint32_t dst, uint32_t nwords) { size_t bytes = nwords * sizeof(SCM); size_t idx = scm_inline_gc_bytes_to_freelist_index (bytes); @@ -2358,7 +2358,7 @@ compile_allocate_words_immediate (scm_jit_state *j, uint16_t dst, uint16_t nword } } static void -compile_allocate_words_immediate_slow (scm_jit_state *j, uint16_t dst, uint16_t nwords) +compile_allocate_words_immediate_slow (scm_jit_state *j, uint32_t dst, uint32_t nwords) { size_t bytes = nwords * sizeof(SCM); size_t idx = scm_inline_gc_bytes_to_freelist_index (bytes); @@ -2381,7 +2381,7 @@ compile_allocate_words_immediate_slow (scm_jit_state *j, uint16_t dst, uint16_t } static void -compile_allocate_pointerless_words (scm_jit_state *j, uint16_t dst, uint16_t nwords) +compile_allocate_pointerless_words (scm_jit_state *j, uint32_t dst, uint32_t nwords) { jit_gpr_t t = T0; @@ -2394,12 +2394,12 @@ compile_allocate_pointerless_words (scm_jit_state *j, uint16_t dst, uint16_t nwo emit_sp_set_scm (j, dst, t); } static void -compile_allocate_pointerless_words_slow (scm_jit_state *j, uint16_t dst, uint16_t nwords) +compile_allocate_pointerless_words_slow (scm_jit_state *j, uint32_t dst, uint32_t nwords) { } static void -compile_allocate_pointerless_words_immediate (scm_jit_state *j, uint16_t dst, uint16_t nwords) +compile_allocate_pointerless_words_immediate (scm_jit_state *j, uint32_t dst, uint32_t nwords) { size_t bytes = nwords * sizeof(SCM); size_t idx = scm_inline_gc_bytes_to_freelist_index (bytes); @@ -2427,7 +2427,7 @@ compile_allocate_pointerless_words_immediate (scm_jit_state *j, uint16_t dst, ui } } static void -compile_allocate_pointerless_words_immediate_slow (scm_jit_state *j, uint16_t dst, uint16_t nwords) +compile_allocate_pointerless_words_immediate_slow (scm_jit_state *j, uint32_t dst, uint32_t nwords) { size_t bytes = nwords * sizeof(SCM); size_t idx = scm_inline_gc_bytes_to_freelist_index (bytes); @@ -2450,7 +2450,7 @@ compile_allocate_pointerless_words_immediate_slow (scm_jit_state *j, uint16_t ds } static void -compile_scm_ref (scm_jit_state *j, uint8_t dst, uint8_t obj, uint8_t idx) +compile_scm_ref (scm_jit_state *j, uint32_t dst, uint32_t obj, uint32_t idx) { emit_sp_ref_scm (j, T0, obj); emit_sp_ref_sz (j, T1, idx); @@ -2459,12 +2459,12 @@ compile_scm_ref (scm_jit_state *j, uint8_t dst, uint8_t obj, uint8_t idx) emit_sp_set_scm (j, dst, T0); } static void -compile_scm_ref_slow (scm_jit_state *j, uint8_t dst, uint8_t obj, uint8_t idx) +compile_scm_ref_slow (scm_jit_state *j, uint32_t dst, uint32_t obj, uint32_t idx) { } static void -compile_scm_set (scm_jit_state *j, uint8_t obj, uint8_t idx, uint8_t val) +compile_scm_set (scm_jit_state *j, uint32_t obj, uint32_t idx, uint32_t val) { emit_sp_ref_scm (j, T0, obj); emit_sp_ref_sz (j, T1, idx); @@ -2473,12 +2473,12 @@ compile_scm_set (scm_jit_state *j, uint8_t obj, uint8_t idx, uint8_t val) jit_stxr (j->jit, T0, T1, T2); } static void -compile_scm_set_slow (scm_jit_state *j, uint8_t obj, uint8_t idx, uint8_t val) +compile_scm_set_slow (scm_jit_state *j, uint32_t obj, uint32_t idx, uint32_t val) { } static void -compile_scm_ref_tag (scm_jit_state *j, uint8_t dst, uint8_t obj, uint8_t tag) +compile_scm_ref_tag (scm_jit_state *j, uint32_t dst, uint32_t obj, uint32_t tag) { emit_sp_ref_scm (j, T0, obj); emit_ldr (j, T0, T0); @@ -2486,12 +2486,12 @@ compile_scm_ref_tag (scm_jit_state *j, uint8_t dst, uint8_t obj, uint8_t tag) emit_sp_set_scm (j, dst, T0); } static void -compile_scm_ref_tag_slow (scm_jit_state *j, uint8_t dst, uint8_t obj, uint8_t tag) +compile_scm_ref_tag_slow (scm_jit_state *j, uint32_t dst, uint32_t obj, uint32_t tag) { } static void -compile_scm_set_tag (scm_jit_state *j, uint8_t obj, uint8_t tag, uint8_t val) +compile_scm_set_tag (scm_jit_state *j, uint32_t obj, uint32_t tag, uint32_t val) { emit_sp_ref_scm (j, T0, obj); emit_sp_ref_scm (j, T1, val); @@ -2499,36 +2499,36 @@ compile_scm_set_tag (scm_jit_state *j, uint8_t obj, uint8_t tag, uint8_t val) jit_str (j->jit, T0, T1); } static void -compile_scm_set_tag_slow (scm_jit_state *j, uint8_t obj, uint8_t tag, uint8_t val) +compile_scm_set_tag_slow (scm_jit_state *j, uint32_t obj, uint32_t tag, uint32_t val) { } static void -compile_scm_ref_immediate (scm_jit_state *j, uint8_t dst, uint8_t obj, uint8_t idx) +compile_scm_ref_immediate (scm_jit_state *j, uint32_t dst, uint32_t obj, uint32_t idx) { emit_sp_ref_scm (j, T0, obj); emit_ldxi (j, T0, T0, idx * sizeof (SCM)); emit_sp_set_scm (j, dst, T0); } static void -compile_scm_ref_immediate_slow (scm_jit_state *j, uint8_t dst, uint8_t obj, uint8_t idx) +compile_scm_ref_immediate_slow (scm_jit_state *j, uint32_t dst, uint32_t obj, uint32_t idx) { } static void -compile_scm_set_immediate (scm_jit_state *j, uint8_t obj, uint8_t idx, uint8_t val) +compile_scm_set_immediate (scm_jit_state *j, uint32_t obj, uint32_t idx, uint32_t val) { emit_sp_ref_scm (j, T0, obj); emit_sp_ref_scm (j, T1, val); jit_stxi (j->jit, idx * sizeof (SCM), T0, T1); } static void -compile_scm_set_immediate_slow (scm_jit_state *j, uint8_t obj, uint8_t idx, uint8_t val) +compile_scm_set_immediate_slow (scm_jit_state *j, uint32_t obj, uint32_t idx, uint32_t val) { } static void -compile_word_ref (scm_jit_state *j, uint8_t dst, uint8_t obj, uint8_t idx) +compile_word_ref (scm_jit_state *j, uint32_t dst, uint32_t obj, uint32_t idx) { emit_sp_ref_scm (j, T0, obj); emit_sp_ref_sz (j, T1, idx); @@ -2537,12 +2537,12 @@ compile_word_ref (scm_jit_state *j, uint8_t dst, uint8_t obj, uint8_t idx) emit_sp_set_sz (j, dst, T0); } static void -compile_word_ref_slow (scm_jit_state *j, uint8_t dst, uint8_t obj, uint8_t idx) +compile_word_ref_slow (scm_jit_state *j, uint32_t dst, uint32_t obj, uint32_t idx) { } static void -compile_word_set (scm_jit_state *j, uint8_t obj, uint8_t idx, uint8_t val) +compile_word_set (scm_jit_state *j, uint32_t obj, uint32_t idx, uint32_t val) { emit_sp_ref_scm (j, T0, obj); emit_sp_ref_sz (j, T1, idx); @@ -2551,77 +2551,77 @@ compile_word_set (scm_jit_state *j, uint8_t obj, uint8_t idx, uint8_t val) jit_stxr (j->jit, T0, T1, T2); } static void -compile_word_set_slow (scm_jit_state *j, uint8_t obj, uint8_t idx, uint8_t val) +compile_word_set_slow (scm_jit_state *j, uint32_t obj, uint32_t idx, uint32_t val) { } static void -compile_word_ref_immediate (scm_jit_state *j, uint8_t dst, uint8_t obj, uint8_t idx) +compile_word_ref_immediate (scm_jit_state *j, uint32_t dst, uint32_t obj, uint32_t idx) { emit_sp_ref_scm (j, T0, obj); emit_ldxi (j, T0, T0, idx * sizeof (SCM)); emit_sp_set_sz (j, dst, T0); } static void -compile_word_ref_immediate_slow (scm_jit_state *j, uint8_t dst, uint8_t obj, uint8_t idx) +compile_word_ref_immediate_slow (scm_jit_state *j, uint32_t dst, uint32_t obj, uint32_t idx) { } static void -compile_word_set_immediate (scm_jit_state *j, uint8_t obj, uint8_t idx, uint8_t val) +compile_word_set_immediate (scm_jit_state *j, uint32_t obj, uint32_t idx, uint32_t val) { emit_sp_ref_scm (j, T0, obj); emit_sp_ref_sz (j, T1, val); jit_stxi (j->jit, idx * sizeof (SCM), T0, T1); } static void -compile_word_set_immediate_slow (scm_jit_state *j, uint8_t obj, uint8_t idx, uint8_t val) +compile_word_set_immediate_slow (scm_jit_state *j, uint32_t obj, uint32_t idx, uint32_t val) { } static void -compile_pointer_ref_immediate (scm_jit_state *j, uint8_t dst, uint8_t obj, uint8_t idx) +compile_pointer_ref_immediate (scm_jit_state *j, uint32_t dst, uint32_t obj, uint32_t idx) { emit_sp_ref_scm (j, T0, obj); emit_ldxi (j, T0, T0, idx * sizeof (SCM)); emit_sp_set_scm (j, dst, T0); } static void -compile_pointer_ref_immediate_slow (scm_jit_state *j, uint8_t dst, uint8_t obj, uint8_t idx) +compile_pointer_ref_immediate_slow (scm_jit_state *j, uint32_t dst, uint32_t obj, uint32_t idx) { } static void -compile_pointer_set_immediate (scm_jit_state *j, uint8_t obj, uint8_t idx, uint8_t val) +compile_pointer_set_immediate (scm_jit_state *j, uint32_t obj, uint32_t idx, uint32_t val) { emit_sp_ref_scm (j, T0, obj); emit_sp_ref_scm (j, T1, val); jit_stxi (j->jit, idx * sizeof (SCM), T0, T1); } static void -compile_pointer_set_immediate_slow (scm_jit_state *j, uint8_t obj, uint8_t idx, uint8_t val) +compile_pointer_set_immediate_slow (scm_jit_state *j, uint32_t obj, uint32_t idx, uint32_t val) { } static void -compile_tail_pointer_ref_immediate (scm_jit_state *j, uint8_t dst, uint8_t obj, uint8_t idx) +compile_tail_pointer_ref_immediate (scm_jit_state *j, uint32_t dst, uint32_t obj, uint32_t idx) { emit_sp_ref_scm (j, T0, obj); emit_addi (j, T0, T0, idx * sizeof (SCM)); emit_sp_set_scm (j, dst, T0); } static void -compile_tail_pointer_ref_immediate_slow (scm_jit_state *j, uint8_t dst, uint8_t obj, uint8_t idx) +compile_tail_pointer_ref_immediate_slow (scm_jit_state *j, uint32_t dst, uint32_t obj, uint32_t idx) { } static void -compile_mov (scm_jit_state *j, uint16_t dst, uint16_t src) +compile_mov (scm_jit_state *j, uint32_t dst, uint32_t src) { emit_mov (j, dst, src, T0); } static void -compile_mov_slow (scm_jit_state *j, uint16_t dst, uint16_t src) +compile_mov_slow (scm_jit_state *j, uint32_t dst, uint32_t src) { } @@ -2649,7 +2649,7 @@ compile_long_fmov_slow (scm_jit_state *j, uint32_t dst, uint32_t src) } static void -compile_call_scm_from_scm_scm (scm_jit_state *j, uint8_t dst, uint8_t a, uint8_t b, uint32_t idx) +compile_call_scm_from_scm_scm (scm_jit_state *j, uint32_t dst, uint32_t a, uint32_t b, uint32_t idx) { switch ((enum scm_vm_intrinsic) idx) { @@ -2688,7 +2688,7 @@ compile_call_scm_from_scm_scm (scm_jit_state *j, uint8_t dst, uint8_t a, uint8_t emit_sp_set_scm (j, dst, T0); } static void -compile_call_scm_from_scm_scm_slow (scm_jit_state *j, uint8_t dst, uint8_t a, uint8_t b, uint32_t idx) +compile_call_scm_from_scm_scm_slow (scm_jit_state *j, uint32_t dst, uint32_t a, uint32_t b, uint32_t idx) { switch ((enum scm_vm_intrinsic) idx) { @@ -2712,7 +2712,7 @@ compile_call_scm_from_scm_scm_slow (scm_jit_state *j, uint8_t dst, uint8_t a, ui } static void -compile_call_scm_from_scm_uimm (scm_jit_state *j, uint8_t dst, uint8_t a, uint8_t b, uint32_t idx) +compile_call_scm_from_scm_uimm (scm_jit_state *j, uint32_t dst, uint32_t a, uint32_t b, uint32_t idx) { switch ((enum scm_vm_intrinsic) idx) { @@ -2749,7 +2749,7 @@ compile_call_scm_from_scm_uimm (scm_jit_state *j, uint8_t dst, uint8_t a, uint8_ emit_sp_set_scm (j, dst, T0); } static void -compile_call_scm_from_scm_uimm_slow (scm_jit_state *j, uint8_t dst, uint8_t a, uint8_t b, uint32_t idx) +compile_call_scm_from_scm_uimm_slow (scm_jit_state *j, uint32_t dst, uint32_t a, uint32_t b, uint32_t idx) { switch ((enum scm_vm_intrinsic) idx) { @@ -2773,7 +2773,7 @@ compile_call_scm_from_scm_uimm_slow (scm_jit_state *j, uint8_t dst, uint8_t a, u } static void -compile_call_scm_sz_u32 (scm_jit_state *j, uint8_t a, uint8_t b, uint8_t c, uint32_t idx) +compile_call_scm_sz_u32 (scm_jit_state *j, uint32_t a, uint32_t b, uint32_t c, uint32_t idx) { void *intrinsic = ((void **) &scm_vm_intrinsics)[idx]; @@ -2783,12 +2783,12 @@ compile_call_scm_sz_u32 (scm_jit_state *j, uint8_t a, uint8_t b, uint8_t c, uint emit_reload_sp (j); } static void -compile_call_scm_sz_u32_slow (scm_jit_state *j, uint8_t a, uint8_t b, uint8_t c, uint32_t idx) +compile_call_scm_sz_u32_slow (scm_jit_state *j, uint32_t a, uint32_t b, uint32_t c, uint32_t idx) { } static void -compile_call_scm_from_scm (scm_jit_state *j, uint16_t dst, uint16_t a, uint32_t idx) +compile_call_scm_from_scm (scm_jit_state *j, uint32_t dst, uint32_t a, uint32_t idx) { void *intrinsic = ((void **) &scm_vm_intrinsics)[idx]; @@ -2799,12 +2799,12 @@ compile_call_scm_from_scm (scm_jit_state *j, uint16_t dst, uint16_t a, uint32_t emit_sp_set_scm (j, dst, T0); } static void -compile_call_scm_from_scm_slow (scm_jit_state *j, uint16_t dst, uint16_t a, uint32_t idx) +compile_call_scm_from_scm_slow (scm_jit_state *j, uint32_t dst, uint32_t a, uint32_t idx) { } static void -compile_call_f64_from_scm (scm_jit_state *j, uint16_t dst, uint16_t a, uint32_t idx) +compile_call_f64_from_scm (scm_jit_state *j, uint32_t dst, uint32_t a, uint32_t idx) { void *intrinsic = ((void **) &scm_vm_intrinsics)[idx]; @@ -2815,12 +2815,12 @@ compile_call_f64_from_scm (scm_jit_state *j, uint16_t dst, uint16_t a, uint32_t emit_sp_set_f64 (j, dst, JIT_F0); } static void -compile_call_f64_from_scm_slow (scm_jit_state *j, uint16_t dst, uint16_t a, uint32_t idx) +compile_call_f64_from_scm_slow (scm_jit_state *j, uint32_t dst, uint32_t a, uint32_t idx) { } static void -compile_call_f64_from_f64 (scm_jit_state *j, uint16_t dst, uint16_t src, uint32_t idx) +compile_call_f64_from_f64 (scm_jit_state *j, uint32_t dst, uint32_t src, uint32_t idx) { switch ((enum scm_vm_intrinsic) idx) { @@ -2850,12 +2850,12 @@ compile_call_f64_from_f64 (scm_jit_state *j, uint16_t dst, uint16_t src, uint32_ } } static void -compile_call_f64_from_f64_slow (scm_jit_state *j, uint16_t dst, uint16_t src, uint32_t idx) +compile_call_f64_from_f64_slow (scm_jit_state *j, uint32_t dst, uint32_t src, uint32_t idx) { } static void -compile_call_f64_from_f64_f64 (scm_jit_state *j, uint8_t dst, uint8_t a, uint8_t b, uint32_t idx) +compile_call_f64_from_f64_f64 (scm_jit_state *j, uint32_t dst, uint32_t a, uint32_t b, uint32_t idx) { void *intrinsic = ((void **) &scm_vm_intrinsics)[idx]; emit_call_2 (j, intrinsic, sp_f64_operand (j, a), sp_f64_operand (j, b)); @@ -2864,12 +2864,12 @@ compile_call_f64_from_f64_f64 (scm_jit_state *j, uint8_t dst, uint8_t a, uint8_t emit_sp_set_f64 (j, dst, JIT_F0); } static void -compile_call_f64_from_f64_f64_slow (scm_jit_state *j, uint8_t dst, uint8_t a, uint8_t b, uint32_t idx) +compile_call_f64_from_f64_f64_slow (scm_jit_state *j, uint32_t dst, uint32_t a, uint32_t b, uint32_t idx) { } static void -compile_call_u64_from_scm (scm_jit_state *j, uint16_t dst, uint16_t a, uint32_t idx) +compile_call_u64_from_scm (scm_jit_state *j, uint32_t dst, uint32_t a, uint32_t idx) { void *intrinsic = ((void **) &scm_vm_intrinsics)[idx]; @@ -2885,29 +2885,29 @@ compile_call_u64_from_scm (scm_jit_state *j, uint16_t dst, uint16_t a, uint32_t #endif } static void -compile_call_u64_from_scm_slow (scm_jit_state *j, uint16_t dst, uint16_t a, uint32_t idx) +compile_call_u64_from_scm_slow (scm_jit_state *j, uint32_t dst, uint32_t a, uint32_t idx) { } static void -compile_make_immediate (scm_jit_state *j, uint8_t dst, SCM a) +compile_make_immediate (scm_jit_state *j, uint32_t dst, SCM a) { emit_movi (j, T0, SCM_UNPACK (a)); emit_sp_set_scm (j, dst, T0); } static void -compile_make_immediate_slow (scm_jit_state *j, uint8_t dst, SCM a) +compile_make_immediate_slow (scm_jit_state *j, uint32_t dst, SCM a) { } static void -compile_make_short_immediate (scm_jit_state *j, uint8_t dst, SCM a) +compile_make_short_immediate (scm_jit_state *j, uint32_t dst, SCM a) { emit_movi (j, T0, SCM_UNPACK (a)); emit_sp_set_scm (j, dst, T0); } static void -compile_make_short_immediate_slow (scm_jit_state *j, uint8_t dst, SCM a) +compile_make_short_immediate_slow (scm_jit_state *j, uint32_t dst, SCM a) { } @@ -3023,17 +3023,17 @@ compile_load_label_slow (scm_jit_state *j, uint32_t dst, const uint32_t *vcode) } static void -compile_call_s64_from_scm (scm_jit_state *j, uint16_t dst, uint16_t a, uint32_t idx) +compile_call_s64_from_scm (scm_jit_state *j, uint32_t dst, uint32_t a, uint32_t idx) { compile_call_u64_from_scm (j, dst, a, idx); } static void -compile_call_s64_from_scm_slow (scm_jit_state *j, uint16_t dst, uint16_t a, uint32_t idx) +compile_call_s64_from_scm_slow (scm_jit_state *j, uint32_t dst, uint32_t a, uint32_t idx) { } static void -compile_call_scm_from_u64 (scm_jit_state *j, uint16_t dst, uint16_t src, uint32_t idx) +compile_call_scm_from_u64 (scm_jit_state *j, uint32_t dst, uint32_t src, uint32_t idx) { void *intrinsic = ((void **) &scm_vm_intrinsics)[idx]; @@ -3048,22 +3048,22 @@ compile_call_scm_from_u64 (scm_jit_state *j, uint16_t dst, uint16_t src, uint32_ emit_sp_set_scm (j, dst, T0); } static void -compile_call_scm_from_u64_slow (scm_jit_state *j, uint16_t dst, uint16_t src, uint32_t idx) +compile_call_scm_from_u64_slow (scm_jit_state *j, uint32_t dst, uint32_t src, uint32_t idx) { } static void -compile_call_scm_from_s64 (scm_jit_state *j, uint16_t dst, uint16_t a, uint32_t b) +compile_call_scm_from_s64 (scm_jit_state *j, uint32_t dst, uint32_t a, uint32_t b) { compile_call_scm_from_u64 (j, dst, a, b); } static void -compile_call_scm_from_s64_slow (scm_jit_state *j, uint16_t dst, uint16_t a, uint32_t b) +compile_call_scm_from_s64_slow (scm_jit_state *j, uint32_t dst, uint32_t a, uint32_t b) { } static void -compile_tag_char (scm_jit_state *j, uint16_t dst, uint16_t src) +compile_tag_char (scm_jit_state *j, uint32_t dst, uint32_t src) { #if SIZEOF_UINTPTR_T >= 8 emit_sp_ref_u64 (j, T0, src); @@ -3075,12 +3075,12 @@ compile_tag_char (scm_jit_state *j, uint16_t dst, uint16_t src) emit_sp_set_scm (j, dst, T0); } static void -compile_tag_char_slow (scm_jit_state *j, uint16_t dst, uint16_t src) +compile_tag_char_slow (scm_jit_state *j, uint32_t dst, uint32_t src) { } static void -compile_untag_char (scm_jit_state *j, uint16_t dst, uint16_t src) +compile_untag_char (scm_jit_state *j, uint32_t dst, uint32_t src) { emit_sp_ref_scm (j, T0, src); emit_rshi (j, T0, T0, 8); @@ -3092,12 +3092,12 @@ compile_untag_char (scm_jit_state *j, uint16_t dst, uint16_t src) #endif } static void -compile_untag_char_slow (scm_jit_state *j, uint16_t dst, uint16_t src) +compile_untag_char_slow (scm_jit_state *j, uint32_t dst, uint32_t src) { } static void -compile_atomic_scm_ref_immediate (scm_jit_state *j, uint8_t dst, uint8_t obj, uint8_t offset) +compile_atomic_scm_ref_immediate (scm_jit_state *j, uint32_t dst, uint32_t obj, uint32_t offset) { emit_sp_ref_scm (j, T0, obj); emit_addi (j, T0, T0, offset * sizeof (SCM)); @@ -3106,12 +3106,12 @@ compile_atomic_scm_ref_immediate (scm_jit_state *j, uint8_t dst, uint8_t obj, ui emit_sp_set_scm (j, dst, T0); } static void -compile_atomic_scm_ref_immediate_slow (scm_jit_state *j, uint8_t dst, uint8_t obj, uint8_t offset) +compile_atomic_scm_ref_immediate_slow (scm_jit_state *j, uint32_t dst, uint32_t obj, uint32_t offset) { } static void -compile_atomic_scm_set_immediate (scm_jit_state *j, uint8_t obj, uint8_t offset, uint8_t val) +compile_atomic_scm_set_immediate (scm_jit_state *j, uint32_t obj, uint32_t offset, uint32_t val) { emit_sp_ref_scm (j, T0, obj); emit_sp_ref_scm (j, T1, val); @@ -3119,12 +3119,12 @@ compile_atomic_scm_set_immediate (scm_jit_state *j, uint8_t obj, uint8_t offset, jit_str_atomic (j->jit, T0, T1); } static void -compile_atomic_scm_set_immediate_slow (scm_jit_state *j, uint8_t obj, uint8_t offset, uint8_t val) +compile_atomic_scm_set_immediate_slow (scm_jit_state *j, uint32_t obj, uint32_t offset, uint32_t val) { } static void -compile_atomic_scm_swap_immediate (scm_jit_state *j, uint32_t dst, uint32_t obj, uint8_t offset, uint32_t val) +compile_atomic_scm_swap_immediate (scm_jit_state *j, uint32_t dst, uint32_t obj, uint32_t offset, uint32_t val) { emit_sp_ref_scm (j, T0, obj); emit_sp_ref_scm (j, T1, val); @@ -3134,13 +3134,13 @@ compile_atomic_scm_swap_immediate (scm_jit_state *j, uint32_t dst, uint32_t obj, emit_sp_set_scm (j, dst, T1); } static void -compile_atomic_scm_swap_immediate_slow (scm_jit_state *j, uint32_t dst, uint32_t obj, uint8_t offset, uint32_t val) +compile_atomic_scm_swap_immediate_slow (scm_jit_state *j, uint32_t dst, uint32_t obj, uint32_t offset, uint32_t val) { } static void compile_atomic_scm_compare_and_swap_immediate (scm_jit_state *j, uint32_t dst, - uint32_t obj, uint8_t offset, + uint32_t obj, uint32_t offset, uint32_t expected, uint32_t desired) { emit_sp_ref_scm (j, T0, obj); @@ -3153,13 +3153,13 @@ compile_atomic_scm_compare_and_swap_immediate (scm_jit_state *j, uint32_t dst, } static void compile_atomic_scm_compare_and_swap_immediate_slow (scm_jit_state *j, uint32_t dst, - uint32_t obj, uint8_t offset, + uint32_t obj, uint32_t offset, uint32_t expected, uint32_t desired) { } static void -compile_call_thread_scm_scm (scm_jit_state *j, uint16_t a, uint16_t b, uint32_t idx) +compile_call_thread_scm_scm (scm_jit_state *j, uint32_t a, uint32_t b, uint32_t idx) { void *intrinsic = ((void **) &scm_vm_intrinsics)[idx]; @@ -3169,7 +3169,7 @@ compile_call_thread_scm_scm (scm_jit_state *j, uint16_t a, uint16_t b, uint32_t emit_reload_sp (j); } static void -compile_call_thread_scm_scm_slow (scm_jit_state *j, uint16_t a, uint16_t b, uint32_t idx) +compile_call_thread_scm_scm_slow (scm_jit_state *j, uint32_t a, uint32_t b, uint32_t idx) { } @@ -3188,7 +3188,7 @@ compile_call_thread_slow (scm_jit_state *j, uint32_t idx) } static void -compile_call_scm_from_thread_scm (scm_jit_state *j, uint16_t dst, uint16_t a, uint32_t idx) +compile_call_scm_from_thread_scm (scm_jit_state *j, uint32_t dst, uint32_t a, uint32_t idx) { void *intrinsic = ((void **) &scm_vm_intrinsics)[idx]; @@ -3199,7 +3199,7 @@ compile_call_scm_from_thread_scm (scm_jit_state *j, uint16_t dst, uint16_t a, ui emit_sp_set_scm (j, dst, T0); } static void -compile_call_scm_from_thread_scm_slow (scm_jit_state *j, uint16_t dst, uint16_t a, uint32_t idx) +compile_call_scm_from_thread_scm_slow (scm_jit_state *j, uint32_t dst, uint32_t a, uint32_t idx) { } @@ -3218,7 +3218,7 @@ compile_call_thread_scm_slow (scm_jit_state *j, uint32_t a, uint32_t idx) } static void -compile_call_scm_from_scm_u64 (scm_jit_state *j, uint8_t dst, uint8_t a, uint8_t b, uint32_t idx) +compile_call_scm_from_scm_u64 (scm_jit_state *j, uint32_t dst, uint32_t a, uint32_t b, uint32_t idx) { void *intrinsic = ((void **) &scm_vm_intrinsics)[idx]; @@ -3233,7 +3233,7 @@ compile_call_scm_from_scm_u64 (scm_jit_state *j, uint8_t dst, uint8_t a, uint8_t emit_sp_set_scm (j, dst, T0); } static void -compile_call_scm_from_scm_u64_slow (scm_jit_state *j, uint8_t dst, uint8_t a, uint8_t b, uint32_t idx) +compile_call_scm_from_scm_u64_slow (scm_jit_state *j, uint32_t dst, uint32_t a, uint32_t b, uint32_t idx) { } @@ -3254,7 +3254,7 @@ compile_call_scm_from_thread_slow (scm_jit_state *j, uint32_t dst, uint32_t idx) } static void -compile_call_scm_scm (scm_jit_state *j, uint16_t a, uint16_t b, uint32_t idx) +compile_call_scm_scm (scm_jit_state *j, uint32_t a, uint32_t b, uint32_t idx) { void *intrinsic = ((void **) &scm_vm_intrinsics)[idx]; @@ -3263,13 +3263,13 @@ compile_call_scm_scm (scm_jit_state *j, uint16_t a, uint16_t b, uint32_t idx) emit_reload_sp (j); } static void -compile_call_scm_scm_slow (scm_jit_state *j, uint16_t a, uint16_t b, +compile_call_scm_scm_slow (scm_jit_state *j, uint32_t a, uint32_t b, uint32_t idx) { } static void -compile_call_scm_scm_scm (scm_jit_state *j, uint8_t a, uint8_t b, uint8_t c, +compile_call_scm_scm_scm (scm_jit_state *j, uint32_t a, uint32_t b, uint32_t c, uint32_t idx) { void *intrinsic = ((void **) &scm_vm_intrinsics)[idx]; @@ -3280,13 +3280,13 @@ compile_call_scm_scm_scm (scm_jit_state *j, uint8_t a, uint8_t b, uint8_t c, emit_reload_sp (j); } static void -compile_call_scm_scm_scm_slow (scm_jit_state *j, uint8_t a, uint8_t b, - uint8_t c, uint32_t idx) +compile_call_scm_scm_scm_slow (scm_jit_state *j, uint32_t a, uint32_t b, + uint32_t c, uint32_t idx) { } static void -compile_call_scm_uimm_scm (scm_jit_state *j, uint8_t a, uint8_t b, uint8_t c, +compile_call_scm_uimm_scm (scm_jit_state *j, uint32_t a, uint8_t b, uint32_t c, uint32_t idx) { void *intrinsic = ((void **) &scm_vm_intrinsics)[idx]; @@ -3298,13 +3298,13 @@ compile_call_scm_uimm_scm (scm_jit_state *j, uint8_t a, uint8_t b, uint8_t c, emit_reload_sp (j); } static void -compile_call_scm_uimm_scm_slow (scm_jit_state *j, uint8_t a, uint8_t b, - uint8_t c, uint32_t idx) +compile_call_scm_uimm_scm_slow (scm_jit_state *j, uint32_t a, uint8_t b, + uint32_t c, uint32_t idx) { } static void -compile_fadd (scm_jit_state *j, uint8_t dst, uint8_t a, uint8_t b) +compile_fadd (scm_jit_state *j, uint32_t dst, uint32_t a, uint32_t b) { emit_sp_ref_f64 (j, JIT_F0, a); emit_sp_ref_f64 (j, JIT_F1, b); @@ -3312,12 +3312,12 @@ compile_fadd (scm_jit_state *j, uint8_t dst, uint8_t a, uint8_t b) emit_sp_set_f64 (j, dst, JIT_F0); } static void -compile_fadd_slow (scm_jit_state *j, uint8_t dst, uint8_t a, uint8_t b) +compile_fadd_slow (scm_jit_state *j, uint32_t dst, uint32_t a, uint32_t b) { } static void -compile_fsub (scm_jit_state *j, uint8_t dst, uint8_t a, uint8_t b) +compile_fsub (scm_jit_state *j, uint32_t dst, uint32_t a, uint32_t b) { emit_sp_ref_f64 (j, JIT_F0, a); emit_sp_ref_f64 (j, JIT_F1, b); @@ -3325,12 +3325,12 @@ compile_fsub (scm_jit_state *j, uint8_t dst, uint8_t a, uint8_t b) emit_sp_set_f64 (j, dst, JIT_F0); } static void -compile_fsub_slow (scm_jit_state *j, uint8_t dst, uint8_t a, uint8_t b) +compile_fsub_slow (scm_jit_state *j, uint32_t dst, uint32_t a, uint32_t b) { } static void -compile_fmul (scm_jit_state *j, uint8_t dst, uint8_t a, uint8_t b) +compile_fmul (scm_jit_state *j, uint32_t dst, uint32_t a, uint32_t b) { emit_sp_ref_f64 (j, JIT_F0, a); emit_sp_ref_f64 (j, JIT_F1, b); @@ -3338,12 +3338,12 @@ compile_fmul (scm_jit_state *j, uint8_t dst, uint8_t a, uint8_t b) emit_sp_set_f64 (j, dst, JIT_F0); } static void -compile_fmul_slow (scm_jit_state *j, uint8_t dst, uint8_t a, uint8_t b) +compile_fmul_slow (scm_jit_state *j, uint32_t dst, uint32_t a, uint32_t b) { } static void -compile_fdiv (scm_jit_state *j, uint8_t dst, uint8_t a, uint8_t b) +compile_fdiv (scm_jit_state *j, uint32_t dst, uint32_t a, uint32_t b) { emit_sp_ref_f64 (j, JIT_F0, a); emit_sp_ref_f64 (j, JIT_F1, b); @@ -3351,12 +3351,12 @@ compile_fdiv (scm_jit_state *j, uint8_t dst, uint8_t a, uint8_t b) emit_sp_set_f64 (j, dst, JIT_F0); } static void -compile_fdiv_slow (scm_jit_state *j, uint8_t dst, uint8_t a, uint8_t b) +compile_fdiv_slow (scm_jit_state *j, uint32_t dst, uint32_t a, uint32_t b) { } static void -compile_uadd (scm_jit_state *j, uint8_t dst, uint8_t a, uint8_t b) +compile_uadd (scm_jit_state *j, uint32_t dst, uint32_t a, uint32_t b) { #if SIZEOF_UINTPTR_T >= 8 emit_sp_ref_u64 (j, T0, a); @@ -3372,12 +3372,12 @@ compile_uadd (scm_jit_state *j, uint8_t dst, uint8_t a, uint8_t b) #endif } static void -compile_uadd_slow (scm_jit_state *j, uint8_t dst, uint8_t a, uint8_t b) +compile_uadd_slow (scm_jit_state *j, uint32_t dst, uint32_t a, uint32_t b) { } static void -compile_usub (scm_jit_state *j, uint8_t dst, uint8_t a, uint8_t b) +compile_usub (scm_jit_state *j, uint32_t dst, uint32_t a, uint32_t b) { #if SIZEOF_UINTPTR_T >= 8 emit_sp_ref_u64 (j, T0, a); @@ -3393,12 +3393,12 @@ compile_usub (scm_jit_state *j, uint8_t dst, uint8_t a, uint8_t b) #endif } static void -compile_usub_slow (scm_jit_state *j, uint8_t dst, uint8_t a, uint8_t b) +compile_usub_slow (scm_jit_state *j, uint32_t dst, uint32_t a, uint32_t b) { } static void -compile_umul (scm_jit_state *j, uint8_t dst, uint8_t a, uint8_t b) +compile_umul (scm_jit_state *j, uint32_t dst, uint32_t a, uint32_t b) { #if SIZEOF_UINTPTR_T >= 8 emit_sp_ref_u64 (j, T0, a); @@ -3418,12 +3418,12 @@ compile_umul (scm_jit_state *j, uint8_t dst, uint8_t a, uint8_t b) #endif } static void -compile_umul_slow (scm_jit_state *j, uint8_t dst, uint8_t a, uint8_t b) +compile_umul_slow (scm_jit_state *j, uint32_t dst, uint32_t a, uint32_t b) { } static void -compile_uadd_immediate (scm_jit_state *j, uint8_t dst, uint8_t a, uint8_t b) +compile_uadd_immediate (scm_jit_state *j, uint32_t dst, uint32_t a, uint32_t b) { #if SIZEOF_UINTPTR_T >= 8 emit_sp_ref_u64 (j, T0, a); @@ -3437,12 +3437,12 @@ compile_uadd_immediate (scm_jit_state *j, uint8_t dst, uint8_t a, uint8_t b) #endif } static void -compile_uadd_immediate_slow (scm_jit_state *j, uint8_t dst, uint8_t a, uint8_t b) +compile_uadd_immediate_slow (scm_jit_state *j, uint32_t dst, uint32_t a, uint32_t b) { } static void -compile_usub_immediate (scm_jit_state *j, uint8_t dst, uint8_t a, uint8_t b) +compile_usub_immediate (scm_jit_state *j, uint32_t dst, uint32_t a, uint32_t b) { #if SIZEOF_UINTPTR_T >= 8 emit_sp_ref_u64 (j, T0, a); @@ -3456,12 +3456,12 @@ compile_usub_immediate (scm_jit_state *j, uint8_t dst, uint8_t a, uint8_t b) #endif } static void -compile_usub_immediate_slow (scm_jit_state *j, uint8_t dst, uint8_t a, uint8_t b) +compile_usub_immediate_slow (scm_jit_state *j, uint32_t dst, uint32_t a, uint32_t b) { } static void -compile_umul_immediate (scm_jit_state *j, uint8_t dst, uint8_t a, uint8_t b) +compile_umul_immediate (scm_jit_state *j, uint32_t dst, uint32_t a, uint32_t b) { #if SIZEOF_UINTPTR_T >= 8 emit_sp_ref_u64 (j, T0, a); @@ -3479,7 +3479,7 @@ compile_umul_immediate (scm_jit_state *j, uint8_t dst, uint8_t a, uint8_t b) #endif } static void -compile_umul_immediate_slow (scm_jit_state *j, uint8_t dst, uint8_t a, uint8_t b) +compile_umul_immediate_slow (scm_jit_state *j, uint32_t dst, uint32_t a, uint32_t b) { } @@ -3534,7 +3534,7 @@ compile_current_thread_slow (scm_jit_state *j, uint32_t dst) } static void -compile_ulogand (scm_jit_state *j, uint8_t dst, uint8_t a, uint8_t b) +compile_ulogand (scm_jit_state *j, uint32_t dst, uint32_t a, uint32_t b) { #if SIZEOF_UINTPTR_T >= 8 emit_sp_ref_u64 (j, T0, a); @@ -3550,12 +3550,12 @@ compile_ulogand (scm_jit_state *j, uint8_t dst, uint8_t a, uint8_t b) #endif } static void -compile_ulogand_slow (scm_jit_state *j, uint8_t dst, uint8_t a, uint8_t b) +compile_ulogand_slow (scm_jit_state *j, uint32_t dst, uint32_t a, uint32_t b) { } static void -compile_ulogior (scm_jit_state *j, uint8_t dst, uint8_t a, uint8_t b) +compile_ulogior (scm_jit_state *j, uint32_t dst, uint32_t a, uint32_t b) { #if SIZEOF_UINTPTR_T >= 8 emit_sp_ref_u64 (j, T0, a); @@ -3571,12 +3571,12 @@ compile_ulogior (scm_jit_state *j, uint8_t dst, uint8_t a, uint8_t b) #endif } static void -compile_ulogior_slow (scm_jit_state *j, uint8_t dst, uint8_t a, uint8_t b) +compile_ulogior_slow (scm_jit_state *j, uint32_t dst, uint32_t a, uint32_t b) { } static void -compile_ulogsub (scm_jit_state *j, uint8_t dst, uint8_t a, uint8_t b) +compile_ulogsub (scm_jit_state *j, uint32_t dst, uint32_t a, uint32_t b) { #if SIZEOF_UINTPTR_T >= 8 emit_sp_ref_u64 (j, T0, a); @@ -3595,12 +3595,12 @@ compile_ulogsub (scm_jit_state *j, uint8_t dst, uint8_t a, uint8_t b) #endif } static void -compile_ulogsub_slow (scm_jit_state *j, uint8_t dst, uint8_t a, uint8_t b) +compile_ulogsub_slow (scm_jit_state *j, uint32_t dst, uint32_t a, uint32_t b) { } static void -compile_ursh (scm_jit_state *j, uint8_t dst, uint8_t a, uint8_t b) +compile_ursh (scm_jit_state *j, uint32_t dst, uint32_t a, uint32_t b) { #if SIZEOF_UINTPTR_T >= 8 emit_sp_ref_u64 (j, T0, a); @@ -3639,12 +3639,12 @@ compile_ursh (scm_jit_state *j, uint8_t dst, uint8_t a, uint8_t b) #endif } static void -compile_ursh_slow (scm_jit_state *j, uint8_t dst, uint8_t a, uint8_t b) +compile_ursh_slow (scm_jit_state *j, uint32_t dst, uint32_t a, uint32_t b) { } static void -compile_ulsh (scm_jit_state *j, uint8_t dst, uint8_t a, uint8_t b) +compile_ulsh (scm_jit_state *j, uint32_t dst, uint32_t a, uint32_t b) { #if SIZEOF_UINTPTR_T >= 8 emit_sp_ref_u64 (j, T0, a); @@ -3683,12 +3683,12 @@ compile_ulsh (scm_jit_state *j, uint8_t dst, uint8_t a, uint8_t b) #endif } static void -compile_ulsh_slow (scm_jit_state *j, uint8_t dst, uint8_t a, uint8_t b) +compile_ulsh_slow (scm_jit_state *j, uint32_t dst, uint32_t a, uint32_t b) { } static void -compile_ursh_immediate (scm_jit_state *j, uint8_t dst, uint8_t a, uint8_t b) +compile_ursh_immediate (scm_jit_state *j, uint32_t dst, uint32_t a, uint32_t b) { b &= 63; @@ -3727,12 +3727,12 @@ compile_ursh_immediate (scm_jit_state *j, uint8_t dst, uint8_t a, uint8_t b) #endif } static void -compile_ursh_immediate_slow (scm_jit_state *j, uint8_t dst, uint8_t a, uint8_t b) +compile_ursh_immediate_slow (scm_jit_state *j, uint32_t dst, uint32_t a, uint32_t b) { } static void -compile_ulsh_immediate (scm_jit_state *j, uint8_t dst, uint8_t a, uint8_t b) +compile_ulsh_immediate (scm_jit_state *j, uint32_t dst, uint32_t a, uint32_t b) { b &= 63; @@ -3771,12 +3771,12 @@ compile_ulsh_immediate (scm_jit_state *j, uint8_t dst, uint8_t a, uint8_t b) #endif } static void -compile_ulsh_immediate_slow (scm_jit_state *j, uint8_t dst, uint8_t a, uint8_t b) +compile_ulsh_immediate_slow (scm_jit_state *j, uint32_t dst, uint32_t a, uint32_t b) { } static void -compile_ulogxor (scm_jit_state *j, uint8_t dst, uint8_t a, uint8_t b) +compile_ulogxor (scm_jit_state *j, uint32_t dst, uint32_t a, uint32_t b) { #if SIZEOF_UINTPTR_T >= 8 emit_sp_ref_u64 (j, T0, a); @@ -3792,7 +3792,7 @@ compile_ulogxor (scm_jit_state *j, uint8_t dst, uint8_t a, uint8_t b) #endif } static void -compile_ulogxor_slow (scm_jit_state *j, uint8_t dst, uint8_t a, uint8_t b) +compile_ulogxor_slow (scm_jit_state *j, uint32_t dst, uint32_t a, uint32_t b) { } @@ -3868,7 +3868,7 @@ fuse_conditional_branch (scm_jit_state *j, uint32_t **target) } static void -compile_u64_numerically_equal (scm_jit_state *j, uint16_t a, uint16_t b) +compile_u64_numerically_equal (scm_jit_state *j, uint32_t a, uint32_t b) { uint32_t *target; #if SIZEOF_UINTPTR_T >= 8 @@ -3911,12 +3911,12 @@ compile_u64_numerically_equal (scm_jit_state *j, uint16_t a, uint16_t b) #endif } static void -compile_u64_numerically_equal_slow (scm_jit_state *j, uint16_t a, uint16_t b) +compile_u64_numerically_equal_slow (scm_jit_state *j, uint32_t a, uint32_t b) { } static void -compile_u64_less (scm_jit_state *j, uint16_t a, uint16_t b) +compile_u64_less (scm_jit_state *j, uint32_t a, uint32_t b) { uint32_t *target; #if SIZEOF_UINTPTR_T >= 8 @@ -3961,12 +3961,12 @@ compile_u64_less (scm_jit_state *j, uint16_t a, uint16_t b) #endif } static void -compile_u64_less_slow (scm_jit_state *j, uint16_t a, uint16_t b) +compile_u64_less_slow (scm_jit_state *j, uint32_t a, uint32_t b) { } static void -compile_s64_less (scm_jit_state *j, uint16_t a, uint16_t b) +compile_s64_less (scm_jit_state *j, uint32_t a, uint32_t b) { uint32_t *target; #if SIZEOF_UINTPTR_T >= 8 @@ -4011,12 +4011,12 @@ compile_s64_less (scm_jit_state *j, uint16_t a, uint16_t b) #endif } static void -compile_s64_less_slow (scm_jit_state *j, uint16_t a, uint16_t b) +compile_s64_less_slow (scm_jit_state *j, uint32_t a, uint32_t b) { } static void -compile_f64_numerically_equal (scm_jit_state *j, uint16_t a, uint16_t b) +compile_f64_numerically_equal (scm_jit_state *j, uint32_t a, uint32_t b) { jit_reloc_t k; uint32_t *target; @@ -4037,12 +4037,12 @@ compile_f64_numerically_equal (scm_jit_state *j, uint16_t a, uint16_t b) add_inter_instruction_patch (j, k, target); } static void -compile_f64_numerically_equal_slow (scm_jit_state *j, uint16_t a, uint16_t b) +compile_f64_numerically_equal_slow (scm_jit_state *j, uint32_t a, uint32_t b) { } static void -compile_f64_less (scm_jit_state *j, uint16_t a, uint16_t b) +compile_f64_less (scm_jit_state *j, uint32_t a, uint32_t b) { jit_reloc_t k; uint32_t *target; @@ -4069,12 +4069,12 @@ compile_f64_less (scm_jit_state *j, uint16_t a, uint16_t b) add_inter_instruction_patch (j, k, target); } static void -compile_f64_less_slow (scm_jit_state *j, uint16_t a, uint16_t b) +compile_f64_less_slow (scm_jit_state *j, uint32_t a, uint32_t b) { } static void -compile_numerically_equal (scm_jit_state *j, uint16_t a, uint16_t b) +compile_numerically_equal (scm_jit_state *j, uint32_t a, uint32_t b) { jit_reloc_t k; uint32_t *target; @@ -4099,7 +4099,7 @@ compile_numerically_equal (scm_jit_state *j, uint16_t a, uint16_t b) add_inter_instruction_patch (j, k, target); } static void -compile_numerically_equal_slow (scm_jit_state *j, uint16_t a, uint16_t b) +compile_numerically_equal_slow (scm_jit_state *j, uint32_t a, uint32_t b) { jit_reloc_t k; uint32_t *target; @@ -4126,7 +4126,7 @@ compile_numerically_equal_slow (scm_jit_state *j, uint16_t a, uint16_t b) } static void -compile_less (scm_jit_state *j, uint16_t a, uint16_t b) +compile_less (scm_jit_state *j, uint32_t a, uint32_t b) { jit_reloc_t k; uint32_t *target; @@ -4154,7 +4154,7 @@ compile_less (scm_jit_state *j, uint16_t a, uint16_t b) add_inter_instruction_patch (j, k, target); } static void -compile_less_slow (scm_jit_state *j, uint16_t a, uint16_t b) +compile_less_slow (scm_jit_state *j, uint32_t a, uint32_t b) { jit_reloc_t k; uint32_t *target; @@ -4271,8 +4271,8 @@ compile_check_positional_arguments_slow (scm_jit_state *j, uint32_t nreq, uint32 } static void -compile_immediate_tag_equals (scm_jit_state *j, uint32_t a, uint16_t mask, - uint16_t expected) +compile_immediate_tag_equals (scm_jit_state *j, uint32_t a, uint32_t mask, + uint32_t expected) { jit_reloc_t k; uint32_t *target; @@ -4293,14 +4293,14 @@ compile_immediate_tag_equals (scm_jit_state *j, uint32_t a, uint16_t mask, add_inter_instruction_patch (j, k, target); } static void -compile_immediate_tag_equals_slow (scm_jit_state *j, uint32_t a, uint16_t mask, - uint16_t expected) +compile_immediate_tag_equals_slow (scm_jit_state *j, uint32_t a, uint32_t mask, + uint32_t expected) { } static void compile_heap_tag_equals (scm_jit_state *j, uint32_t obj, - uint16_t mask, uint16_t expected) + uint32_t mask, uint32_t expected) { jit_reloc_t k; uint32_t *target; @@ -4321,12 +4321,12 @@ compile_heap_tag_equals (scm_jit_state *j, uint32_t obj, } static void compile_heap_tag_equals_slow (scm_jit_state *j, uint32_t obj, - uint16_t mask, uint16_t expected) + uint32_t mask, uint32_t expected) { } static void -compile_eq (scm_jit_state *j, uint16_t a, uint16_t b) +compile_eq (scm_jit_state *j, uint32_t a, uint32_t b) { jit_reloc_t k; uint32_t *target; @@ -4347,12 +4347,12 @@ compile_eq (scm_jit_state *j, uint16_t a, uint16_t b) add_inter_instruction_patch (j, k, target); } static void -compile_eq_slow (scm_jit_state *j, uint16_t a, uint16_t b) +compile_eq_slow (scm_jit_state *j, uint32_t a, uint32_t b) { } static void -compile_eq_immediate (scm_jit_state *j, uint16_t a, SCM b) +compile_eq_immediate (scm_jit_state *j, uint32_t a, SCM b) { jit_reloc_t k; uint32_t *target; @@ -4372,7 +4372,7 @@ compile_eq_immediate (scm_jit_state *j, uint16_t a, SCM b) add_inter_instruction_patch (j, k, target); } static void -compile_eq_immediate_slow (scm_jit_state *j, uint16_t a, SCM b) +compile_eq_immediate_slow (scm_jit_state *j, uint32_t a, SCM b) { } @@ -4496,7 +4496,7 @@ compile_jtable_slow (scm_jit_state *j, uint32_t idx, uint32_t len, } static void -compile_heap_numbers_equal (scm_jit_state *j, uint16_t a, uint16_t b) +compile_heap_numbers_equal (scm_jit_state *j, uint32_t a, uint32_t b) { jit_reloc_t k; uint32_t *target; @@ -4520,12 +4520,12 @@ compile_heap_numbers_equal (scm_jit_state *j, uint16_t a, uint16_t b) add_inter_instruction_patch (j, k, target); } static void -compile_heap_numbers_equal_slow (scm_jit_state *j, uint16_t a, uint16_t b) +compile_heap_numbers_equal_slow (scm_jit_state *j, uint32_t a, uint32_t b) { } static void -compile_untag_fixnum (scm_jit_state *j, uint16_t dst, uint16_t a) +compile_untag_fixnum (scm_jit_state *j, uint32_t dst, uint32_t a) { emit_sp_ref_scm (j, T0, a); emit_rshi (j, T0, T0, 2); @@ -4538,12 +4538,12 @@ compile_untag_fixnum (scm_jit_state *j, uint16_t dst, uint16_t a) #endif } static void -compile_untag_fixnum_slow (scm_jit_state *j, uint16_t dst, uint16_t a) +compile_untag_fixnum_slow (scm_jit_state *j, uint32_t dst, uint32_t a) { } static void -compile_tag_fixnum (scm_jit_state *j, uint16_t dst, uint16_t a) +compile_tag_fixnum (scm_jit_state *j, uint32_t dst, uint32_t a) { #if SIZEOF_UINTPTR_T >= 8 emit_sp_ref_s64 (j, T0, a); @@ -4555,7 +4555,7 @@ compile_tag_fixnum (scm_jit_state *j, uint16_t dst, uint16_t a) emit_sp_set_scm (j, dst, T0); } static void -compile_tag_fixnum_slow (scm_jit_state *j, uint16_t dst, uint16_t a) +compile_tag_fixnum_slow (scm_jit_state *j, uint32_t dst, uint32_t a) { } @@ -4648,7 +4648,7 @@ compile_srsh_immediate_slow (scm_jit_state *j, uint8_t dst, uint8_t a, uint8_t b } static void -compile_s64_imm_numerically_equal (scm_jit_state *j, uint16_t a, int16_t b) +compile_s64_imm_numerically_equal (scm_jit_state *j, uint32_t a, int16_t b) { #if SIZEOF_UINTPTR_T >= 8 jit_reloc_t k; @@ -4692,12 +4692,12 @@ compile_s64_imm_numerically_equal (scm_jit_state *j, uint16_t a, int16_t b) #endif } static void -compile_s64_imm_numerically_equal_slow (scm_jit_state *j, uint16_t a, int16_t b) +compile_s64_imm_numerically_equal_slow (scm_jit_state *j, uint32_t a, int16_t b) { } static void -compile_u64_imm_less (scm_jit_state *j, uint16_t a, uint16_t b) +compile_u64_imm_less (scm_jit_state *j, uint32_t a, uint32_t b) { #if SIZEOF_UINTPTR_T >= 8 jit_reloc_t k; @@ -4741,12 +4741,12 @@ compile_u64_imm_less (scm_jit_state *j, uint16_t a, uint16_t b) #endif } static void -compile_u64_imm_less_slow (scm_jit_state *j, uint16_t a, uint16_t b) +compile_u64_imm_less_slow (scm_jit_state *j, uint32_t a, uint32_t b) { } static void -compile_imm_u64_less (scm_jit_state *j, uint16_t a, uint16_t b) +compile_imm_u64_less (scm_jit_state *j, uint32_t a, uint32_t b) { #if SIZEOF_UINTPTR_T >= 8 jit_reloc_t k; @@ -4790,12 +4790,12 @@ compile_imm_u64_less (scm_jit_state *j, uint16_t a, uint16_t b) #endif } static void -compile_imm_u64_less_slow (scm_jit_state *j, uint16_t a, uint16_t b) +compile_imm_u64_less_slow (scm_jit_state *j, uint32_t a, uint32_t b) { } static void -compile_s64_imm_less (scm_jit_state *j, uint16_t a, int16_t b) +compile_s64_imm_less (scm_jit_state *j, uint32_t a, int16_t b) { #if SIZEOF_UINTPTR_T >= 8 jit_reloc_t k; @@ -4844,12 +4844,12 @@ compile_s64_imm_less (scm_jit_state *j, uint16_t a, int16_t b) #endif } static void -compile_s64_imm_less_slow (scm_jit_state *j, uint16_t a, int16_t b) +compile_s64_imm_less_slow (scm_jit_state *j, uint32_t a, int16_t b) { } static void -compile_imm_s64_less (scm_jit_state *j, uint16_t a, int16_t b) +compile_imm_s64_less (scm_jit_state *j, uint32_t a, int16_t b) { #if SIZEOF_UINTPTR_T >= 8 jit_reloc_t k; @@ -4898,7 +4898,7 @@ compile_imm_s64_less (scm_jit_state *j, uint16_t a, int16_t b) #endif } static void -compile_imm_s64_less_slow (scm_jit_state *j, uint16_t a, int16_t b) +compile_imm_s64_less_slow (scm_jit_state *j, uint32_t a, int16_t b) { } @@ -5233,7 +5233,7 @@ compile_f64_set_slow (scm_jit_state *j, uint8_t ptr, uint8_t idx, uint8_t v) } static void -compile_s64_to_f64 (scm_jit_state *j, uint16_t dst, uint16_t src) +compile_s64_to_f64 (scm_jit_state *j, uint32_t dst, uint32_t src) { #if SIZEOF_UINTPTR_T >= 8 emit_sp_ref_s64 (j, T0, src); @@ -5247,7 +5247,7 @@ compile_s64_to_f64 (scm_jit_state *j, uint16_t dst, uint16_t src) emit_sp_set_f64 (j, dst, JIT_F0); } static void -compile_s64_to_f64_slow (scm_jit_state *j, uint16_t dst, uint16_t src) +compile_s64_to_f64_slow (scm_jit_state *j, uint32_t dst, uint32_t src) { } |