# HG changeset patch # User Christian Wimmer # Date 1350083445 25200 # Node ID 85724a16e4c2d7ffd11d33a1e673dea1e98e6ded # Parent 3cd6c6743a6a73eac619db19f6740e79c3e1ca61 Remove BoxNode that is never used diff -r 3cd6c6743a6a -r 85724a16e4c2 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/BoxNode.java --- 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; + } }