# HG changeset patch # User Bernhard Urban # Date 1368196859 -7200 # Node ID c455c86138baf8966c8b0f174bc51157a42aae88 # Parent f38f746f4980417acb12792d34338d9c6f361975 Value: more occurrences of object equality replaced In order to verify, I implemented a small verification phase and used CTW to compile graal.jar. diff -r f38f746f4980 -r c455c86138ba graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/CallingConvention.java --- a/graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/CallingConvention.java Fri May 10 16:31:44 2013 +0200 +++ b/graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/CallingConvention.java Fri May 10 16:40:59 2013 +0200 @@ -171,7 +171,7 @@ sb.append(sep).append(op); sep = ", "; } - if (returnLocation != Value.ILLEGAL) { + if (!returnLocation.equals(Value.ILLEGAL)) { sb.append(" -> ").append(returnLocation); } if (temporaryLocations.length != 0) { diff -r f38f746f4980 -r c455c86138ba graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/ValueUtil.java --- a/graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/ValueUtil.java Fri May 10 16:31:44 2013 +0200 +++ b/graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/ValueUtil.java Fri May 10 16:40:59 2013 +0200 @@ -31,7 +31,7 @@ public static boolean isIllegal(Value value) { assert value != null; - return value == Value.ILLEGAL; + return value.equals(Value.ILLEGAL); } public static boolean isLegal(Value value) { diff -r f38f746f4980 -r c455c86138ba graal/com.oracle.graal.compiler.amd64/src/com/oracle/graal/compiler/amd64/AMD64LIRGenerator.java --- a/graal/com.oracle.graal.compiler.amd64/src/com/oracle/graal/compiler/amd64/AMD64LIRGenerator.java Fri May 10 16:31:44 2013 +0200 +++ b/graal/com.oracle.graal.compiler.amd64/src/com/oracle/graal/compiler/amd64/AMD64LIRGenerator.java Fri May 10 16:40:59 2013 +0200 @@ -174,7 +174,7 @@ AllocatableValue indexRegister; Scale scaleEnum; - if (index != Value.ILLEGAL && scale != 0) { + if (!index.equals(Value.ILLEGAL) && scale != 0) { scaleEnum = Scale.fromInt(scale); if (isConstant(index)) { finalDisp += asConstant(index).asLong() * scale; @@ -193,7 +193,7 @@ } else { displacementInt = 0; AllocatableValue displacementRegister = load(Constant.forLong(finalDisp)); - if (baseRegister == Value.ILLEGAL) { + if (baseRegister.equals(Value.ILLEGAL)) { baseRegister = displacementRegister; } else if (indexRegister == Value.ILLEGAL) { indexRegister = displacementRegister; diff -r f38f746f4980 -r c455c86138ba graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/alloc/Interval.java --- a/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/alloc/Interval.java Fri May 10 16:31:44 2013 +0200 +++ b/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/alloc/Interval.java Fri May 10 16:40:59 2013 +0200 @@ -713,12 +713,12 @@ assert i1.splitParent() == this : "not a split child of this interval"; assert i1.kind() == kind() : "must be equal for all split children"; - assert i1.spillSlot() == spillSlot() : "must be equal for all split children"; + assert (i1.spillSlot() == null && spillSlot == null) || i1.spillSlot().equals(spillSlot()) : "must be equal for all split children"; for (int j = i + 1; j < splitChildren.size(); j++) { Interval i2 = splitChildren.get(j); - assert i1.operand != i2.operand : "same register number"; + assert !i1.operand.equals(i2.operand) : "same register number"; if (i1.from() < i2.from()) { assert i1.to() <= i2.from() && i1.to() < i2.to() : "intervals overlapping"; diff -r f38f746f4980 -r c455c86138ba graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/gen/LIRGenerator.java --- a/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/gen/LIRGenerator.java Fri May 10 16:31:44 2013 +0200 +++ b/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/gen/LIRGenerator.java Fri May 10 16:40:59 2013 +0200 @@ -138,7 +138,7 @@ public ValueNode valueForOperand(Value value) { for (Entry entry : nodeOperands.entries()) { - if (entry.getValue() == value) { + if (entry.getValue().equals(value)) { return (ValueNode) entry.getKey(); } } diff -r f38f746f4980 -r c455c86138ba graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotUnwindOp.java --- a/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotUnwindOp.java Fri May 10 16:31:44 2013 +0200 +++ b/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotUnwindOp.java Fri May 10 16:40:59 2013 +0200 @@ -54,7 +54,7 @@ RuntimeCallTarget stub = tasm.runtime.lookupRuntimeCall(UNWIND_EXCEPTION_TO_CALLER); CallingConvention cc = stub.getCallingConvention(); assert cc.getArgumentCount() == 2; - assert exception == cc.getArgument(0); + assert exception.equals(cc.getArgument(0)); // Get return address (is on top of stack after leave). Register returnAddress = asRegister(cc.getArgument(1)); diff -r f38f746f4980 -r c455c86138ba graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64AddressValue.java --- a/graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64AddressValue.java Fri May 10 16:31:44 2013 +0200 +++ b/graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64AddressValue.java Fri May 10 16:40:59 2013 +0200 @@ -54,7 +54,7 @@ } private static Register toRegister(AllocatableValue value) { - if (value == Value.ILLEGAL) { + if (value.equals(Value.ILLEGAL)) { return Register.None; } else { RegisterValue reg = (RegisterValue) value; diff -r f38f746f4980 -r c455c86138ba graal/com.oracle.graal.lir/src/com/oracle/graal/lir/LIRVerifier.java --- a/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/LIRVerifier.java Fri May 10 16:31:44 2013 +0200 +++ b/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/LIRVerifier.java Fri May 10 16:40:59 2013 +0200 @@ -179,7 +179,7 @@ curRegistersDefined.set(regNum); } - if (beforeRegisterAllocation && curRegistersLive[regNum] != value) { + if (beforeRegisterAllocation && !curRegistersLive[regNum].equals(value)) { TTY.println("block %s instruction %s", curBlock, curInstruction); TTY.println("live registers: %s", Arrays.toString(curRegistersLive)); TTY.println("ERROR: Use of fixed register %s that is not defined in this block", value);