changeset 6553:85724a16e4c2

Remove BoxNode that is never used
author Christian Wimmer <christian.wimmer@oracle.com>
date Fri, 12 Oct 2012 16:10:45 -0700
parents 3cd6c6743a6a
children 8cc7771bb2a2
files graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/BoxNode.java
diffstat 1 files changed, 13 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/BoxNode.java	Fri Oct 12 16:10:05 2012 -0700
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/BoxNode.java	Fri Oct 12 16:10:45 2012 -0700
@@ -27,10 +27,11 @@
 import com.oracle.graal.nodes.*;
 import com.oracle.graal.nodes.java.*;
 import com.oracle.graal.nodes.java.MethodCallTargetNode.InvokeKind;
+import com.oracle.graal.nodes.spi.*;
 import com.oracle.graal.nodes.type.*;
 
 
-public final class BoxNode extends AbstractStateSplit implements StateSplit, Node.IterableNodeType {
+public final class BoxNode extends AbstractStateSplit implements StateSplit, Node.IterableNodeType, Canonicalizable {
 
     @Input private ValueNode source;
     private int bci;
@@ -61,4 +62,15 @@
         invokeNode.setStateAfter(stateAfter());
         ((StructuredGraph) graph()).replaceFixedWithFixed(this, invokeNode);
     }
+
+    @Override
+    public ValueNode canonical(CanonicalizerTool tool) {
+        for (Node usage : usages()) {
+            if (usage != stateAfter()) {
+                return this;
+            }
+        }
+        replaceAtUsages(null);
+        return null;
+    }
 }