try to fix JIT-buffer overflow error
This commit is contained in:
parent
ed96b89c45
commit
dafb6742e2
|
@ -1837,7 +1837,8 @@ static int common7(mz_jit_state *jitter, void *_data)
|
||||||
__START_SHORT_JUMPS__(1);
|
__START_SHORT_JUMPS__(1);
|
||||||
|
|
||||||
/* R0 is hare, R1 is turtle */
|
/* R0 is hare, R1 is turtle */
|
||||||
jit_movr_p(JIT_R1, JIT_R0);
|
jit_movr_p(JIT_R1, JIT_R0);
|
||||||
|
CHECK_LIMIT();
|
||||||
|
|
||||||
/* Note: there's no fuel check in this loop, just like there isn't in
|
/* Note: there's no fuel check in this loop, just like there isn't in
|
||||||
scheme_is_list(). */
|
scheme_is_list(). */
|
||||||
|
@ -1852,6 +1853,7 @@ static int common7(mz_jit_state *jitter, void *_data)
|
||||||
|
|
||||||
jit_ldxi_s(JIT_R2, JIT_R0, &((Scheme_Object *)0x0)->type);
|
jit_ldxi_s(JIT_R2, JIT_R0, &((Scheme_Object *)0x0)->type);
|
||||||
ref3 = jit_bnei_i(jit_forward(), JIT_R2, scheme_pair_type);
|
ref3 = jit_bnei_i(jit_forward(), JIT_R2, scheme_pair_type);
|
||||||
|
CHECK_LIMIT();
|
||||||
|
|
||||||
jit_ldxi_s(JIT_R2, JIT_R0, &MZ_OPT_HASH_KEY(&((Scheme_Stx *)0x0)->iso));
|
jit_ldxi_s(JIT_R2, JIT_R0, &MZ_OPT_HASH_KEY(&((Scheme_Stx *)0x0)->iso));
|
||||||
ref4 = jit_bmsi_ul(jit_forward(), JIT_R2, PAIR_FLAG_MASK);
|
ref4 = jit_bmsi_ul(jit_forward(), JIT_R2, PAIR_FLAG_MASK);
|
||||||
|
@ -1865,6 +1867,7 @@ static int common7(mz_jit_state *jitter, void *_data)
|
||||||
(void)jit_beqi_i(refloop, JIT_R2, scheme_pair_type);
|
(void)jit_beqi_i(refloop, JIT_R2, scheme_pair_type);
|
||||||
|
|
||||||
ref6 = jit_jmpi(jit_forward());
|
ref6 = jit_jmpi(jit_forward());
|
||||||
|
CHECK_LIMIT();
|
||||||
|
|
||||||
/* R2 has flags, and either list or non-list is set */
|
/* R2 has flags, and either list or non-list is set */
|
||||||
mz_patch_branch(ref1);
|
mz_patch_branch(ref1);
|
||||||
|
@ -1894,6 +1897,7 @@ static int common7(mz_jit_state *jitter, void *_data)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
__END_SHORT_JUMPS__(1);
|
__END_SHORT_JUMPS__(1);
|
||||||
|
CHECK_LIMIT();
|
||||||
|
|
||||||
if (!i)
|
if (!i)
|
||||||
jit_movi_p(JIT_R0, scheme_true);
|
jit_movi_p(JIT_R0, scheme_true);
|
||||||
|
@ -1921,6 +1925,7 @@ static int common7(mz_jit_state *jitter, void *_data)
|
||||||
jit_ori_i(JIT_R2, JIT_R2, PAIR_IS_NON_LIST);
|
jit_ori_i(JIT_R2, JIT_R2, PAIR_IS_NON_LIST);
|
||||||
jit_stxi_s(&MZ_OPT_HASH_KEY(&((Scheme_Stx *)0x0)->iso), JIT_R1, JIT_R2);
|
jit_stxi_s(&MZ_OPT_HASH_KEY(&((Scheme_Stx *)0x0)->iso), JIT_R1, JIT_R2);
|
||||||
#endif
|
#endif
|
||||||
|
CHECK_LIMIT();
|
||||||
|
|
||||||
__END_SHORT_JUMPS__(1);
|
__END_SHORT_JUMPS__(1);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user