Mercurial > hg > graal-compiler
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; + } }