# HG changeset patch # User Gilles Duboscq # Date 1340105118 -7200 # Node ID 1f263f152cdac0ccf252ceaf4b203dff8d9245e6 # Parent 3405794d135c245120301b348bffecc589ab97bb# Parent d05664608cb71b895cf6ab04095a900453866ef0 Merge diff -r d05664608cb7 -r 1f263f152cda graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/loop/LoopFragment.java --- a/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/loop/LoopFragment.java Tue Jun 19 11:38:30 2012 +0200 +++ b/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/loop/LoopFragment.java Tue Jun 19 13:25:18 2012 +0200 @@ -246,7 +246,6 @@ PhiNode phi = graph.add(vpn.type() == PhiType.Value ? new PhiNode(vpn.kind(), merge) : new PhiNode(vpn.type(), merge)); phi.addInput(vpn); phi.addInput(newVpn); - assert vpn.type() == PhiType.Value; replaceWith = phi; } else { replaceWith = vpn.value(); diff -r d05664608cb7 -r 1f263f152cda graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/bytecode/BC_ldiv2.java --- a/graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/bytecode/BC_ldiv2.java Tue Jun 19 11:38:30 2012 +0200 +++ b/graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/bytecode/BC_ldiv2.java Tue Jun 19 13:25:18 2012 +0200 @@ -27,6 +27,8 @@ /* */ public class BC_ldiv2 { + public static long MIN = Long.MIN_VALUE; + public static long MAX = Long.MAX_VALUE; public static long test(long a, long b) { return a / b; @@ -34,12 +36,16 @@ @Test public void run0() throws Throwable { - Assert.assertEquals(-9223372036854775808L, test(-9223372036854775808L, -1)); + Assert.assertEquals(MIN, test(MIN, -1)); } @Test public void run1() throws Throwable { - Assert.assertEquals(-9223372036854775808L, test(-9223372036854775808L, 1)); + Assert.assertEquals(MIN, test(MIN, 1)); } + @Test + public void run2() throws Throwable { + Assert.assertEquals(-1, test(MIN, MAX)); + } } diff -r d05664608cb7 -r 1f263f152cda graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64Arithmetic.java --- a/graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64Arithmetic.java Tue Jun 19 11:38:30 2012 +0200 +++ b/graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64Arithmetic.java Tue Jun 19 13:25:18 2012 +0200 @@ -397,7 +397,7 @@ masm.movq(AMD64.rdx, java.lang.Long.MIN_VALUE); masm.cmpq(AMD64.rax, AMD64.rdx); masm.jcc(ConditionFlag.notEqual, normalCase); - masm.cmpl(asRegister(src), -1); + masm.cmpq(asRegister(src), -1); masm.jcc(ConditionFlag.equal, continuation); masm.bind(normalCase); }