1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-21 19:20:21 +02:00

Correct misplaced check for already visited blocks

This commit is contained in:
pcpa 2013-10-01 13:51:01 -03:00
parent 1bd169cfa3
commit f42a251ff1
3 changed files with 15 additions and 6 deletions

View file

@ -1983,15 +1983,15 @@ _jit_update(jit_state_t *_jit, jit_node_t *node,
goto restart;
}
block = _jitc->blocks.ptr + label->v.w;
if (bmp_tst(label->v.w))
continue;
bmp_set(label->v.w);
jit_regset_and(&ztmp, mask, &block->reglive);
if (jit_regset_set_p(&ztmp)) {
jit_regset_ior(live, live, &ztmp);
jit_regset_com(&ztmp, &ztmp);
jit_regset_and(mask, mask, &ztmp);
}
if (bmp_tst(label->v.w))
continue;
bmp_set(label->v.w);
if (jit_regset_set_p(mask) == 0)
return;
/* restore mask if branch is conditional */