# HG changeset patch # User Thomas Wuerthinger # Date 1422311409 -3600 # Node ID bef8b63166272bd63f8770b5300b82b8a7a6072b # Parent e8a4803f27f03d5c9eacda16315d3fc4fd81b3e6 Do not add proxy nodes of loop exits to the schedule. diff -r e8a4803f27f0 -r bef8b6316627 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 Mon Jan 26 23:24:06 2015 +0100 +++ b/graal/com.oracle.graal.phases/src/com/oracle/graal/phases/schedule/SchedulePhase.java Mon Jan 26 23:30:09 2015 +0100 @@ -1082,12 +1082,6 @@ stateAfter = ((StateSplit) i).stateAfter(); } - if (i instanceof LoopExitNode) { - for (ProxyNode proxy : ((LoopExitNode) i).proxies()) { - addToLatestSorting(proxy, state); - } - } - for (Node input : i.inputs()) { if (input instanceof FrameState) { if (input != stateAfter) { @@ -1159,20 +1153,12 @@ } if (instruction instanceof BeginNode) { - ArrayList proxies = (instruction instanceof LoopExitNode) ? new ArrayList<>() : null; for (ValueNode inBlock : blockToNodesMap.get(b)) { if (!visited.isMarked(inBlock)) { - if (inBlock instanceof ProxyNode) { - proxies.add((ProxyNode) inBlock); - } else { - addToEarliestSorting(b, inBlock, sortedInstructions, visited); - } + addToEarliestSorting(b, inBlock, sortedInstructions, visited); } } sortedInstructions.add(instruction); - if (proxies != null) { - sortedInstructions.addAll(proxies); - } break; } else { sortedInstructions.add(instruction);