changeset 9638:c455c86138ba

Value: more occurrences of object equality replaced In order to verify, I implemented a small verification phase and used CTW to compile graal.jar.
author Bernhard Urban <bernhard.urban@jku.at>
date Fri, 10 May 2013 16:40:59 +0200
parents f38f746f4980
children fde5ccbab3a3
files graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/CallingConvention.java graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/ValueUtil.java graal/com.oracle.graal.compiler.amd64/src/com/oracle/graal/compiler/amd64/AMD64LIRGenerator.java graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/alloc/Interval.java graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/gen/LIRGenerator.java graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotUnwindOp.java graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64AddressValue.java graal/com.oracle.graal.lir/src/com/oracle/graal/lir/LIRVerifier.java
diffstat 8 files changed, 10 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- 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) {
--- 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) {
--- 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;
--- 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";
--- 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<Node, Value> entry : nodeOperands.entries()) {
-            if (entry.getValue() == value) {
+            if (entry.getValue().equals(value)) {
                 return (ValueNode) entry.getKey();
             }
         }
--- 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));
--- 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;
--- 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);