1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-18 18:40:22 +02:00

ARM: Better check for constants offset overflow

* lib/jit_arm.c: Better check for need to flush constants
	before the pool being no longer reachable.
This commit is contained in:
pcpa 2014-12-26 00:38:54 -02:00
parent 88aa2fcad2
commit 5eb3c3602f
2 changed files with 8 additions and 2 deletions

View file

@ -1532,8 +1532,9 @@ _emit_code(jit_state_t *_jit)
jit_reglive(node);
if (_jitc->consts.length &&
(jit_uword_t)_jit->pc.uc -
(jit_uword_t)_jitc->consts.patches[0] >= 3968) {
(_jit->pc.uc - _jitc->consts.data >= 3968 ||
(jit_uword_t)_jit->pc.uc -
(jit_uword_t)_jitc->consts.patches[0] >= 3968)) {
/* longest sequence should be 64 bytes, but preventively
* do not let it go past 128 remaining bytes before a flush */
if (node->next &&