# HG changeset patch # User Lukas Stadler # Date 1422647559 -3600 # Node ID b300d1f6e8175ae3f7192b981584fdff973f2847 # Parent 173bdcc85ab8322e39dd65f27476686084c89bb7 schedule inputs of proxy nodes at the loop exit diff -r 173bdcc85ab8 -r b300d1f6e817 graal/com.oracle.graal.phases/src/com/oracle/graal/phases/schedule/SchedulePhase.java --- a/graal/com.oracle.graal.phases/src/com/oracle/graal/phases/schedule/SchedulePhase.java Fri Jan 30 10:54:09 2015 -0800 +++ b/graal/com.oracle.graal.phases/src/com/oracle/graal/phases/schedule/SchedulePhase.java Fri Jan 30 20:52:39 2015 +0100 @@ -1068,7 +1068,7 @@ } private void addToLatestSorting(ValueNode i, SortState state) { - if (i == null || state.isVisited(i) || cfg.getNodeToBlock().get(i) != state.currentBlock() || i instanceof PhiNode || i instanceof ProxyNode) { + if (i == null || state.isVisited(i) || cfg.getNodeToBlock().get(i) != state.currentBlock() || i instanceof PhiNode) { return; } @@ -1087,6 +1087,10 @@ } } + if (i instanceof ProxyNode) { + return; + } + if (state.readsSize() != 0) { if (i instanceof MemoryCheckpoint.Single) { LocationIdentity identity = ((MemoryCheckpoint.Single) i).getLocationIdentity();