# HG changeset patch # User Bernhard Urban # Date 1377790101 -7200 # Node ID ac2bddbe3b5176abf13fb04ed8298788f00a6adc # Parent c66cdfb7445b4b3e492ac4dae6427bd0c93059c0 SchedulePhase: schedule inputs of framestates which are attached to AbstractBeginNodes to the dominator (not just for MergeNodes) diff -r c66cdfb7445b -r ac2bddbe3b51 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 Thu Aug 29 17:28:20 2013 +0200 +++ b/graal/com.oracle.graal.phases/src/com/oracle/graal/phases/schedule/SchedulePhase.java Thu Aug 29 17:28:21 2013 +0200 @@ -770,12 +770,12 @@ // If a FrameState is an outer FrameState this method behaves as if the inner // FrameState was the actual usage, by recursing. blocksForUsage(node, unscheduledUsage, closure, strategy); - } else if (unscheduledUsage instanceof MergeNode) { - // Only FrameStates can be connected to MergeNodes. + } else if (unscheduledUsage instanceof AbstractBeginNode) { + // Only FrameStates can be connected to BeginNodes. if (!(usage instanceof FrameState)) { throw new SchedulingError(usage.toString()); } - // If a FrameState belongs to a MergeNode then it's inputs will be placed at the + // If a FrameState belongs to a BeginNode then it's inputs will be placed at the // common dominator of all EndNodes. for (Node pred : unscheduledUsage.cfgPredecessors()) { closure.apply(cfg.getNodeToBlock().get(pred));