Mercurial > hg > graal-compiler
changeset 11805:73a886a9564a
Make AbstractBeginNode a IterableNodeType and use this in ControlFlowGraph
author | Gilles Duboscq <duboscq@ssw.jku.at> |
---|---|
date | Thu, 26 Sep 2013 11:15:45 +0200 |
parents | 60f6d5939941 |
children | 14904566a4b2 ec90fc830e45 |
files | graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/AbstractBeginNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/cfg/ControlFlowGraph.java |
diffstat | 2 files changed, 5 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/AbstractBeginNode.java Thu Sep 26 08:50:55 2013 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/AbstractBeginNode.java Thu Sep 26 11:15:45 2013 +0200 @@ -32,7 +32,7 @@ import com.oracle.graal.nodes.spi.*; import com.oracle.graal.nodes.type.*; -public abstract class AbstractBeginNode extends FixedWithNextNode implements StateSplit, LIRLowerable, Simplifiable, GuardingNode { +public abstract class AbstractBeginNode extends FixedWithNextNode implements StateSplit, LIRLowerable, Simplifiable, GuardingNode, IterableNodeType { @Input(notDataflow = true) private FrameState stateAfter;
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/cfg/ControlFlowGraph.java Thu Sep 26 08:50:55 2013 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/cfg/ControlFlowGraph.java Thu Sep 26 11:15:45 2013 +0200 @@ -154,12 +154,10 @@ private void identifyBlocks() { // Find all block headers int numBlocks = 0; - for (Node node : graph.getNodes()) { - if (node instanceof AbstractBeginNode) { - Block block = new Block((AbstractBeginNode) node); - numBlocks++; - identifyBlock(block); - } + for (AbstractBeginNode begin : graph.getNodes(AbstractBeginNode.class)) { + Block block = new Block(begin); + numBlocks++; + identifyBlock(block); } // Compute postorder.