# HG changeset patch # User Thomas Wuerthinger # Date 1307535439 -7200 # Node ID 5fd2b31f50ee8b0decd4831cbaa875de55dad4c0 # Parent d9ee2a573a552748269859353205e8de3fee7717 Schedule now inherits Phase. diff -r d9ee2a573a55 -r 5fd2b31f50ee graal/com.oracle.max.graal.compiler/src/com/oracle/max/graal/compiler/debug/IdealGraphPrinter.java --- a/graal/com.oracle.max.graal.compiler/src/com/oracle/max/graal/compiler/debug/IdealGraphPrinter.java Wed Jun 08 14:10:06 2011 +0200 +++ b/graal/com.oracle.max.graal.compiler/src/com/oracle/max/graal/compiler/debug/IdealGraphPrinter.java Wed Jun 08 14:17:19 2011 +0200 @@ -114,7 +114,8 @@ Schedule schedule = null; try { - schedule = new Schedule(graph); + schedule = new Schedule(); + schedule.apply(graph); } catch (Throwable t) { // nothing to do here... } diff -r d9ee2a573a55 -r 5fd2b31f50ee graal/com.oracle.max.graal.compiler/src/com/oracle/max/graal/compiler/graph/IR.java --- a/graal/com.oracle.max.graal.compiler/src/com/oracle/max/graal/compiler/graph/IR.java Wed Jun 08 14:10:06 2011 +0200 +++ b/graal/com.oracle.max.graal.compiler/src/com/oracle/max/graal/compiler/graph/IR.java Wed Jun 08 14:17:19 2011 +0200 @@ -93,7 +93,8 @@ new SplitCriticalEdgesPhase().apply(graph); - Schedule schedule = new Schedule(graph); + Schedule schedule = new Schedule(); + schedule.apply(graph); List blocks = schedule.getBlocks(); List lirBlocks = new ArrayList(); Map map = new HashMap(); diff -r d9ee2a573a55 -r 5fd2b31f50ee graal/com.oracle.max.graal.compiler/src/com/oracle/max/graal/compiler/schedule/Schedule.java --- a/graal/com.oracle.max.graal.compiler/src/com/oracle/max/graal/compiler/schedule/Schedule.java Wed Jun 08 14:10:06 2011 +0200 +++ b/graal/com.oracle.max.graal.compiler/src/com/oracle/max/graal/compiler/schedule/Schedule.java Wed Jun 08 14:17:19 2011 +0200 @@ -31,16 +31,19 @@ import com.sun.cri.ci.*; -public class Schedule { +public class Schedule extends Phase { private final List blocks = new ArrayList(); - private final NodeMap nodeToBlock; - private final Graph graph; + private NodeMap nodeToBlock; + private Graph graph; - public Schedule(Graph graph) { + + @Override + protected void run(Graph graph) { this.graph = graph; nodeToBlock = graph.createNodeMap(); identifyBlocks(); } + public List getBlocks() { return Collections.unmodifiableList(blocks); }