# HG changeset patch # User Thomas Wuerthinger # Date 1452878421 -3600 # Node ID 0ca595288320b6d5fa4a125ff7ec70ede5ca4433 # Parent ddd530cc44c98f3ab7bfa977451ad32c68d1286d Clean up in the scheduling phase. diff -r ddd530cc44c9 -r 0ca595288320 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 15 18:02:41 2016 +0100 +++ b/graal/com.oracle.graal.phases/src/com/oracle/graal/phases/schedule/SchedulePhase.java Fri Jan 15 18:20:21 2016 +0100 @@ -140,25 +140,20 @@ // assert GraphOrder.assertNonCyclicGraph(graph); cfg = ControlFlowGraph.compute(graph, true, true, true, false); + NodeMap currentNodeMap = graph.createNodeMap(); + NodeBitMap visited = graph.createNodeBitMap(); + BlockMap> earliestBlockToNodesMap = new BlockMap<>(cfg); + this.nodeToBlockMap = currentNodeMap; + this.blockToNodesMap = earliestBlockToNodesMap; + if (selectedStrategy == SchedulingStrategy.EARLIEST) { // Assign early so we are getting a context in case of an exception. - this.nodeToBlockMap = graph.createNodeMap(); - this.blockToNodesMap = new BlockMap<>(cfg); - NodeBitMap visited = graph.createNodeBitMap(); - scheduleEarliestIterative(blockToNodesMap, nodeToBlockMap, visited, graph, null, immutableGraph); + scheduleEarliestIterative(earliestBlockToNodesMap, currentNodeMap, visited, graph, null, immutableGraph); } else { - NodeMap currentNodeMap = graph.createNodeMap(); - BlockMap> earliestBlockToNodesMap = new BlockMap<>(cfg); - NodeBitMap visited = graph.createNodeBitMap(); NodeBitMap unreachableNodes = immutableGraph ? graph.createNodeBitMap() : null; + scheduleEarliestIterative(earliestBlockToNodesMap, currentNodeMap, visited, graph, unreachableNodes, immutableGraph); - // Assign early so we are getting a context in case of an exception. - this.blockToNodesMap = earliestBlockToNodesMap; - this.nodeToBlockMap = currentNodeMap; - - scheduleEarliestIterative(earliestBlockToNodesMap, currentNodeMap, visited, graph, unreachableNodes, immutableGraph); BlockMap> latestBlockToNodesMap = new BlockMap<>(cfg); - for (Block b : cfg.getBlocks()) { latestBlockToNodesMap.put(b, new ArrayList()); } @@ -171,7 +166,6 @@ assert MemoryScheduleVerification.check(cfg.getStartBlock(), latestBlockToNodesMap); this.blockToNodesMap = latestBlockToNodesMap; - this.nodeToBlockMap = currentNodeMap; cfg.setNodeToBlock(currentNodeMap); }