# HG changeset patch # User Lukas Stadler # Date 1339593079 -7200 # Node ID c1d2cef3f2004eb02af2259f702da902774f322c # Parent 728cf399b18dd0e6effe4b181ba7eff02f3bfa89 verify that ValueAnchorNodes have no usages diff -r 728cf399b18d -r c1d2cef3f200 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ValueAnchorNode.java --- 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