changeset 10490:dcbdf71c4507

remove scheduledNext from ScheduledNode
author Lukas Stadler <lukas.stadler@jku.at>
date Mon, 24 Jun 2013 08:01:33 +0200
parents 175a4900c230
children 5db21405c6a4 7344fa3e8833
files graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/FixedWithNextNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ScheduledNode.java graal/com.oracle.graal.phases/src/com/oracle/graal/phases/schedule/SchedulePhase.java graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/IntegerExactArithmeticSplitNode.java
diffstat 4 files changed, 6 insertions(+), 34 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/FixedWithNextNode.java	Mon Jun 24 02:19:14 2013 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/FixedWithNextNode.java	Mon Jun 24 08:01:33 2013 +0200
@@ -30,13 +30,15 @@
  */
 public abstract class FixedWithNextNode extends FixedNode {
 
+    @Successor private FixedNode next;
+
     public FixedNode next() {
-        assert scheduledNext() == null || scheduledNext() instanceof FixedNode : "next() cannot be used while the graph is scheduled";
-        return (FixedNode) scheduledNext();
+        return next;
     }
 
     public void setNext(FixedNode x) {
-        setScheduledNext(x);
+        updatePredecessor(next, x);
+        next = x;
     }
 
     public FixedWithNextNode(Stamp stamp) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ScheduledNode.java	Mon Jun 24 02:19:14 2013 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ScheduledNode.java	Mon Jun 24 08:01:33 2013 +0200
@@ -26,17 +26,6 @@
 
 public abstract class ScheduledNode extends Node {
 
-    @Successor private ScheduledNode scheduledNext; // the immediate successor of the current node
-
-    public ScheduledNode scheduledNext() {
-        return scheduledNext;
-    }
-
-    public void setScheduledNext(ScheduledNode x) {
-        updatePredecessor(scheduledNext, x);
-        scheduledNext = x;
-    }
-
     @Override
     public StructuredGraph graph() {
         return (StructuredGraph) super.graph();
--- a/graal/com.oracle.graal.phases/src/com/oracle/graal/phases/schedule/SchedulePhase.java	Mon Jun 24 02:19:14 2013 +0200
+++ b/graal/com.oracle.graal.phases/src/com/oracle/graal/phases/schedule/SchedulePhase.java	Mon Jun 24 08:01:33 2013 +0200
@@ -209,25 +209,6 @@
         sortNodesWithinBlocks(graph, selectedStrategy);
     }
 
-    /**
-     * Sets {@link ScheduledNode#scheduledNext} on all scheduled nodes in all blocks using the
-     * scheduling built by {@link #run(StructuredGraph)}. This method should thus only be called
-     * when run has been successfully executed.
-     */
-    public void scheduleGraph() {
-        assert blockToNodesMap != null : "cannot set scheduledNext before run has been executed";
-        for (Block block : cfg.getBlocks()) {
-            List<ScheduledNode> nodeList = blockToNodesMap.get(block);
-            ScheduledNode last = null;
-            for (ScheduledNode node : nodeList) {
-                if (last != null) {
-                    last.setScheduledNext(node);
-                }
-                last = node;
-            }
-        }
-    }
-
     public ControlFlowGraph getCFG() {
         return cfg;
     }
--- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/IntegerExactArithmeticSplitNode.java	Mon Jun 24 02:19:14 2013 +0200
+++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/IntegerExactArithmeticSplitNode.java	Mon Jun 24 08:01:33 2013 +0200
@@ -48,7 +48,7 @@
 
     @Override
     public double probability(AbstractBeginNode successor) {
-        return successor == scheduledNext() ? 1 : 0;
+        return successor == next ? 1 : 0;
     }
 
     @Override