# HG changeset patch # User Lukas Stadler # Date 1337691421 -7200 # Node ID 068cc464e0cf09fb57195a47edc39eb0e3b3bfe2 # Parent d3dec1a05a80e366bab0a646ba5e7e3eea949c95 add snapshot() call in MergeNode.removeEnd to fix concurrent modification problem diff -r d3dec1a05a80 -r 068cc464e0cf 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 Tue May 22 11:11:48 2012 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/MergeNode.java Tue May 22 14:57:01 2012 +0200 @@ -81,7 +81,7 @@ int predIndex = phiPredecessorIndex(pred); assert predIndex != -1; deleteEnd(pred); - for (PhiNode phi : phis()) { + for (PhiNode phi : phis().snapshot()) { ValueNode removedValue = phi.valueAt(predIndex); phi.removeInput(predIndex); if (removedValue != null && removedValue.isAlive() && removedValue.usages().isEmpty() && GraphUtil.isFloatingNode().apply(removedValue)) {