summaryrefslogtreecommitdiff
path: root/libguile/jit.c
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2020-08-11 22:10:32 +0200
committerAndy Wingo <wingo@pobox.com>2020-08-12 23:30:08 +0200
commitfeafad7958ca4e35fdb398d229c49223612a6158 (patch)
tree17097e72a21da3b1d471e05ede679e44bbbb8954 /libguile/jit.c
parentde5d1a7f99b8e952b115237ebc29633062f99bb9 (diff)
downloadguile-feafad7958ca4e35fdb398d229c49223612a6158.tar.gz
Fix JIT compilation for jtable
* libguile/jit.c (compile_jtable): Fix bounds check for index.
Diffstat (limited to 'libguile/jit.c')
-rw-r--r--libguile/jit.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/libguile/jit.c b/libguile/jit.c
index 5872ca9c7..c859c269e 100644
--- a/libguile/jit.c
+++ b/libguile/jit.c
@@ -4393,7 +4393,7 @@ compile_jtable (scm_jit_state *j, uint32_t idx, uint32_t len,
add_inter_instruction_patch (j, high_word_nonzero, default_target);
#endif
- jit_reloc_t out_of_range = jit_bgei_u (j->jit, T0, len);
+ jit_reloc_t out_of_range = jit_bgei_u (j->jit, T0, len - 1);
add_inter_instruction_patch (j, out_of_range, default_target);
/* Now that we know that the u64 at IDX is in the table, load the