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