# HG changeset patch # User Gilles Duboscq # Date 1355760911 -3600 # Node ID b903c1099f415efd2d0a9dde6e2c22f10b34dbc0 # Parent 1706be855f0e71f83a09b88502b3d9bc8003d017 Fix in MergeNode.removeEnd: while deleting phi inputs some other phis can die diff -r 1706be855f0e -r b903c1099f41 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/MergeNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/MergeNode.java Mon Dec 17 16:38:48 2012 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/MergeNode.java Mon Dec 17 17:15:11 2012 +0100 @@ -82,6 +82,9 @@ assert predIndex != -1; deleteEnd(pred); for (PhiNode phi : phis().snapshot()) { + if (phi.isDeleted()) { + continue; + } ValueNode removedValue = phi.valueAt(predIndex); phi.removeInput(predIndex); if (removedValue != null && removedValue.isAlive() && removedValue.usages().isEmpty() && GraphUtil.isFloatingNode().apply(removedValue)) {