diff graal/GraalCompiler/src/com/sun/c1x/ir/BlockEnd.java @ 2674:6ab73784566a

* BlockBegin.predecessors changed to List<BlockEnd> * Node: add input/successor with given back edge index, allows for explicit ordering of predecessors/usages * Graphviz: PDF output, option to omit FrameStates * runscimark.sh: forward additional options to JVM
author Lukas Stadler <lukas.stadler@jku.at>
date Fri, 13 May 2011 15:18:41 +0200
parents 194d93d089bd
children 7ed72769d51a
line wrap: on
line diff
--- a/graal/GraalCompiler/src/com/sun/c1x/ir/BlockEnd.java	Fri May 13 11:19:25 2011 +0200
+++ b/graal/GraalCompiler/src/com/sun/c1x/ir/BlockEnd.java	Fri May 13 15:18:41 2011 +0200
@@ -166,6 +166,18 @@
     }
 
     /**
+     * This method reorders the predecessors of the i-th successor in such a way that this BlockEnd is at position backEdgeIndex.
+     */
+    public void reorderSuccessor(int i, int backEdgeIndex) {
+        assert i >= 0 && i < blockSuccessorCount;
+        BlockBegin successor = blockSuccessor(i);
+        if (successor != null) {
+            successors().set(super.successorCount() + SUCCESSOR_COUNT + i, Node.Null);
+            successors().set(super.successorCount() + SUCCESSOR_COUNT + i, successor, backEdgeIndex);
+        }
+    }
+
+    /**
      * Gets this block end's list of successors.
      * @return the successor list
      */