changeset 11214:2eb2f1ae8180

Remove duplicate fields from LoweredCompareAndSwapNode.
author Roland Schatz <roland.schatz@oracle.com>
date Tue, 06 Aug 2013 16:04:44 +0200
parents 29bc764bfd9a
children 113a303da13b
files graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/phases/WriteBarrierAdditionPhase.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/phases/WriteBarrierVerificationPhase.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/LoweredCompareAndSwapNode.java
diffstat 3 files changed, 9 insertions(+), 21 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/phases/WriteBarrierAdditionPhase.java	Tue Aug 06 16:04:44 2013 +0200
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/phases/WriteBarrierAdditionPhase.java	Tue Aug 06 16:04:44 2013 +0200
@@ -97,17 +97,17 @@
         BarrierType barrierType = node.getBarrierType();
         if (barrierType == BarrierType.PRECISE) {
             if (useG1GC()) {
-                graph.addBeforeFixed(node, graph.add(new G1PreWriteBarrier(node.object(), node.getExpectedValue(), node.getLocation(), false, false)));
-                graph.addAfterFixed(node, graph.add(new G1PostWriteBarrier(node.object(), node.getNewValue(), node.getLocation(), true)));
+                graph.addBeforeFixed(node, graph.add(new G1PreWriteBarrier(node.object(), node.getExpectedValue(), node.location(), false, false)));
+                graph.addAfterFixed(node, graph.add(new G1PostWriteBarrier(node.object(), node.getNewValue(), node.location(), true)));
             } else {
-                graph.addAfterFixed(node, graph.add(new SerialWriteBarrier(node.object(), node.getNewValue(), node.getLocation(), true)));
+                graph.addAfterFixed(node, graph.add(new SerialWriteBarrier(node.object(), node.getNewValue(), node.location(), true)));
             }
         } else if (barrierType == BarrierType.IMPRECISE) {
             if (useG1GC()) {
-                graph.addBeforeFixed(node, graph.add(new G1PreWriteBarrier(node.object(), node.getExpectedValue(), node.getLocation(), false, false)));
-                graph.addAfterFixed(node, graph.add(new G1PostWriteBarrier(node.object(), node.getNewValue(), node.getLocation(), false)));
+                graph.addBeforeFixed(node, graph.add(new G1PreWriteBarrier(node.object(), node.getExpectedValue(), node.location(), false, false)));
+                graph.addAfterFixed(node, graph.add(new G1PostWriteBarrier(node.object(), node.getNewValue(), node.location(), false)));
             } else {
-                graph.addAfterFixed(node, graph.add(new SerialWriteBarrier(node.object(), node.getNewValue(), node.getLocation(), false)));
+                graph.addAfterFixed(node, graph.add(new SerialWriteBarrier(node.object(), node.getNewValue(), node.location(), false)));
             }
         } else {
             assert barrierType == BarrierType.NONE;
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/phases/WriteBarrierVerificationPhase.java	Tue Aug 06 16:04:44 2013 +0200
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/phases/WriteBarrierVerificationPhase.java	Tue Aug 06 16:04:44 2013 +0200
@@ -148,7 +148,7 @@
             writtenLocation = ((WriteNode) write).location();
         } else if (write instanceof LoweredCompareAndSwapNode) {
             writtenObject = ((LoweredCompareAndSwapNode) write).object();
-            writtenLocation = ((LoweredCompareAndSwapNode) write).getLocation();
+            writtenLocation = ((LoweredCompareAndSwapNode) write).location();
         } else {
             assert false : "Node must be of type requiring a write barrier";
         }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/LoweredCompareAndSwapNode.java	Tue Aug 06 16:04:44 2013 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/LoweredCompareAndSwapNode.java	Tue Aug 06 16:04:44 2013 +0200
@@ -34,10 +34,8 @@
  */
 public class LoweredCompareAndSwapNode extends AccessNode implements StateSplit, LIRLowerable, MemoryCheckpoint.Single, Node.IterableNodeType {
 
-    @Input private ValueNode object;
     @Input private ValueNode expectedValue;
     @Input private ValueNode newValue;
-    @Input private LocationNode location;
     @Input(notDataflow = true) private FrameState stateAfter;
 
     public FrameState stateAfter() {
@@ -54,10 +52,6 @@
         return true;
     }
 
-    public ValueNode getObject() {
-        return object;
-    }
-
     public ValueNode getExpectedValue() {
         return expectedValue;
     }
@@ -66,26 +60,20 @@
         return newValue;
     }
 
-    public LocationNode getLocation() {
-        return location;
-    }
-
     public LoweredCompareAndSwapNode(ValueNode object, LocationNode location, ValueNode expectedValue, ValueNode newValue, BarrierType barrierType, boolean compressible) {
         super(object, location, StampFactory.forKind(Kind.Boolean.getStackKind()), barrierType, compressible);
         assert expectedValue.kind() == newValue.kind();
-        this.object = object;
         this.expectedValue = expectedValue;
         this.newValue = newValue;
-        this.location = location;
     }
 
     @Override
     public LocationIdentity getLocationIdentity() {
-        return location.getLocationIdentity();
+        return location().getLocationIdentity();
     }
 
     @Override
     public void generate(LIRGeneratorTool gen) {
-        gen.visitCompareAndSwap(this, getLocation().generateAddress(gen, gen.operand(getObject())));
+        gen.visitCompareAndSwap(this, location().generateAddress(gen, gen.operand(object())));
     }
 }