# HG changeset patch # User Lukas Stadler # Date 1406555587 -7200 # Node ID 5fcb220206e270b5bd874e4ba0827b46f8017fa9 # Parent a4490086af4d4387a94c50cecb022c1152e1ac12 small fix in FloatingReadPhase (when handling existing phis) diff -r a4490086af4d -r 5fcb220206e2 graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/FloatingReadPhase.java --- a/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/FloatingReadPhase.java Mon Jul 28 15:53:07 2014 +0200 +++ b/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/FloatingReadPhase.java Mon Jul 28 15:53:07 2014 +0200 @@ -209,7 +209,7 @@ } - private static class CollectMemoryCheckpointsClosure extends NodeIteratorClosure> { + public static class CollectMemoryCheckpointsClosure extends NodeIteratorClosure> { private final Map> modifiedInLoops; @@ -261,7 +261,7 @@ } - private static class FloatingReadClosure extends NodeIteratorClosure { + public static class FloatingReadClosure extends NodeIteratorClosure { private final Map> modifiedInLoops; private boolean createFloatingReads; @@ -372,7 +372,7 @@ Map phis = new HashMap<>(); if (updateExistingPhis) { - for (MemoryPhiNode phi : loop.phis().filter(MemoryPhiNode.class)) { + for (MemoryPhiNode phi : loop.phis().filter(MemoryPhiNode.class).snapshot()) { if (modifiedLocations.contains(phi.getLocationIdentity())) { phi.values().clear(); phi.addInput(ValueNodeUtil.asNode(initialState.getLastLocationAccess(phi.getLocationIdentity())));