Mercurial > hg > truffle
diff graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Node.java @ 13744:d96dbd96bb45
Always copy method substitutions. Add some assertion checking for it.
author | Tom Rodriguez <tom.rodriguez@oracle.com> |
---|---|
date | Thu, 23 Jan 2014 16:15:04 -0800 |
parents | c258331fdde6 |
children | 5568586d32a6 |
line wrap: on
line diff
--- a/graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Node.java Thu Jan 23 15:21:14 2014 -0800 +++ b/graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Node.java Thu Jan 23 16:15:04 2014 -0800 @@ -488,6 +488,7 @@ * this node to newSuccessor's predecessors. */ protected void updatePredecessor(Node oldSuccessor, Node newSuccessor) { + assert graph == null || !graph.isFrozen(); if (oldSuccessor != newSuccessor) { if (oldSuccessor != null) { assert assertTrue(oldSuccessor.predecessor == this, "wrong predecessor in old successor (%s): %s", oldSuccessor, oldSuccessor.predecessor); @@ -517,6 +518,7 @@ } private boolean checkReplaceWith(Node other) { + assert assertTrue(graph == null || !graph.isFrozen(), "cannot modify frozen graph"); assert assertFalse(other == this, "cannot replace a node with itself"); assert assertFalse(isDeleted(), "cannot replace deleted node"); assert assertTrue(other == null || !other.isDeleted(), "cannot replace with deleted node %s", other); @@ -574,6 +576,7 @@ public void clearInputs() { assert assertFalse(isDeleted(), "cannot clear inputs of deleted node"); + assert graph == null || !graph.isFrozen(); for (Node input : inputs()) { if (input.recordsUsages()) {