Mercurial > hg > graal-compiler
changeset 5590:c1d2cef3f200
verify that ValueAnchorNodes have no usages
author | Lukas Stadler <lukas.stadler@jku.at> |
---|---|
date | Wed, 13 Jun 2012 15:11:19 +0200 |
parents | 728cf399b18d |
children | d52edd1af4c4 |
files | graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ValueAnchorNode.java |
diffstat | 1 files changed, 7 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ValueAnchorNode.java Wed Jun 13 15:09:59 2012 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ValueAnchorNode.java Wed Jun 13 15:11:19 2012 +0200 @@ -34,11 +34,10 @@ /** * The ValueAnchor instruction keeps non-CFG (floating) nodes above a certain point in the graph. */ - public final class ValueAnchorNode extends FixedWithNextNode implements Canonicalizable, LIRLowerable, Node.IterableNodeType { public ValueAnchorNode(ValueNode... values) { - super(StampFactory.dependency(), values); + super(StampFactory.forVoid(), values); } @Override @@ -53,6 +52,12 @@ } @Override + public boolean verify() { + assertTrue(usages().isEmpty(), "upwards dependencies should target BeginNodes only"); + return super.verify(); + } + + @Override public ValueNode canonical(CanonicalizerTool tool) { if (this.predecessor() instanceof ValueAnchorNode) { // transfer values and remove