diff options
author | Andy Wingo <wingo@pobox.com> | 2020-08-11 22:10:32 +0200 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2020-08-12 23:30:08 +0200 |
commit | feafad7958ca4e35fdb398d229c49223612a6158 (patch) | |
tree | 17097e72a21da3b1d471e05ede679e44bbbb8954 | |
parent | de5d1a7f99b8e952b115237ebc29633062f99bb9 (diff) | |
download | guile-feafad7958ca4e35fdb398d229c49223612a6158.tar.gz |
Fix JIT compilation for jtable
* libguile/jit.c (compile_jtable): Fix bounds check for index.
-rw-r--r-- | libguile/jit.c | 2 |
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 |