Signed-off-by: Arthur HUILLET <arthur.huil...@free.fr> --- jit/spill-reload.c | 4 ++-- regression/jvm/RegisterAllocatorTortureTest.java | 5 ++--- 2 files changed, 4 insertions(+), 5 deletions(-)
diff --git a/jit/spill-reload.c b/jit/spill-reload.c index 489cefe..8750dae 100644 --- a/jit/spill-reload.c +++ b/jit/spill-reload.c @@ -197,7 +197,7 @@ static void insert_mov_insns(struct compilation_unit *cu, from_it = mappings[i].from; to_it = mappings[i].to; - if (from_it->need_spill) + if (from_it->need_spill && from_it->range.end <= from_bb->end_insn) slot = from_it->spill_slot; else slot = spill_interval(from_it, cu, spill_at_insn, true); @@ -205,7 +205,7 @@ static void insert_mov_insns(struct compilation_unit *cu, /* Reload those intervals into their new location */ reload_at_insn = bb_first_insn(to_bb); - if (to_it->need_reload) { + if (to_it->need_reload && to_it->range.start >= to_bb->start_insn) { insert_copy_slot_insn(mappings[i].to, cu, slot, to_it->spill_parent->spill_slot, spill_at_insn, reload_at_insn); diff --git a/regression/jvm/RegisterAllocatorTortureTest.java b/regression/jvm/RegisterAllocatorTortureTest.java index 3612ecf..0a2d2ad 100644 --- a/regression/jvm/RegisterAllocatorTortureTest.java +++ b/regression/jvm/RegisterAllocatorTortureTest.java @@ -63,8 +63,7 @@ public class RegisterAllocatorTortureTest extends TestCase { } public static void main(String[] args) { - testIntegerBigExpression(); -// FIXME -// testComplexRegisterAllocatorPressure(); + testIntegerBigExpression(); + testComplexRegisterAllocatorPressure(); } } -- 1.6.3.3 ------------------------------------------------------------------------------ _______________________________________________ Jatovm-devel mailing list Jatovm-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jatovm-devel