Mercurial > hg > graal-jvmci-8
changeset 3514:eb3e8ea2956a
Clean up of Merge class.
author | Thomas Wuerthinger <thomas@wuerthinger.net> |
---|---|
date | Mon, 08 Aug 2011 22:24:44 +0200 |
parents | 8a9621569b8e |
children | 4275ca8dde2b |
files | graal/com.oracle.max.graal.compiler/src/com/oracle/max/graal/compiler/alloc/LinearScan.java graal/com.oracle.max.graal.compiler/src/com/oracle/max/graal/compiler/ir/LoopBegin.java graal/com.oracle.max.graal.compiler/src/com/oracle/max/graal/compiler/ir/Merge.java graal/com.oracle.max.graal.compiler/src/com/oracle/max/graal/compiler/schedule/IdentifyBlocksPhase.java graal/com.oracle.max.graal.compiler/src/com/oracle/max/graal/compiler/util/LoopUtil.java graal/com.oracle.max.graal.runtime/src/com/oracle/max/graal/runtime/HotSpotRuntime.java |
diffstat | 6 files changed, 11 insertions(+), 31 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.max.graal.compiler/src/com/oracle/max/graal/compiler/alloc/LinearScan.java Mon Aug 08 22:18:47 2011 +0200 +++ b/graal/com.oracle.max.graal.compiler/src/com/oracle/max/graal/compiler/alloc/LinearScan.java Mon Aug 08 22:24:44 2011 +0200 @@ -843,7 +843,7 @@ TTY.println("pred count on blockbegin: " + phi.merge().phiPredecessorCount()); TTY.println("phi values: " + phi.valueCount()); TTY.println("phi block preds:"); - for (Node n : phi.merge().phiPredecessors()) { + for (EndNode n : phi.merge().cfgPredecessors()) { TTY.println(n.toString()); } }
--- a/graal/com.oracle.max.graal.compiler/src/com/oracle/max/graal/compiler/ir/LoopBegin.java Mon Aug 08 22:18:47 2011 +0200 +++ b/graal/com.oracle.max.graal.compiler/src/com/oracle/max/graal/compiler/ir/LoopBegin.java Mon Aug 08 22:24:44 2011 +0200 @@ -110,7 +110,7 @@ } @Override - public Iterable<Node> phiPredecessors() { + public Iterable<? extends Node> phiPredecessors() { return Arrays.asList(new Node[]{this.forwardEdge(), this.loopEnd()}); }
--- a/graal/com.oracle.max.graal.compiler/src/com/oracle/max/graal/compiler/ir/Merge.java Mon Aug 08 22:18:47 2011 +0200 +++ b/graal/com.oracle.max.graal.compiler/src/com/oracle/max/graal/compiler/ir/Merge.java Mon Aug 08 22:24:44 2011 +0200 @@ -37,7 +37,7 @@ */ public class Merge extends StateSplit{ - @Input private final NodeInputList<Node> ends = new NodeInputList<Node>(this); + @Input private final NodeInputList<EndNode> ends = new NodeInputList<EndNode>(this); public Merge(Graph graph) { super(CiKind.Illegal, graph); @@ -66,31 +66,16 @@ } public EndNode endAt(int index) { - return (EndNode) ends.get(index); + return ends.get(index); + } + + public Iterable<? extends Node> phiPredecessors() { + return ends; } @Override public Iterable<EndNode> cfgPredecessors() { - return new Iterable<EndNode>() { - @Override - public Iterator<EndNode> iterator() { - return new Iterator<EndNode>() { - int i = 0; - @Override - public void remove() { - throw new UnsupportedOperationException(); - } - @Override - public EndNode next() { - return Merge.this.endAt(i++); - } - @Override - public boolean hasNext() { - return i < Merge.this.endCount(); - } - }; - } - }; + return ends; } @Override @@ -316,8 +301,4 @@ public Collection<Phi> phis() { return Util.filter(this.usages(), Phi.class); } - - public Iterable<Node> phiPredecessors() { - return ends; - } }
--- a/graal/com.oracle.max.graal.compiler/src/com/oracle/max/graal/compiler/schedule/IdentifyBlocksPhase.java Mon Aug 08 22:18:47 2011 +0200 +++ b/graal/com.oracle.max.graal.compiler/src/com/oracle/max/graal/compiler/schedule/IdentifyBlocksPhase.java Mon Aug 08 22:24:44 2011 +0200 @@ -521,7 +521,7 @@ if (mergeBlock.getPredecessors().size() <= i) { TTY.println(merge.toString()); TTY.println(phi.toString()); - TTY.println(merge.phiPredecessors().toString()); + TTY.println(merge.cfgPredecessors().toString()); TTY.println(phi.inputs().toString()); TTY.println("value count: " + phi.valueCount()); }
--- a/graal/com.oracle.max.graal.compiler/src/com/oracle/max/graal/compiler/util/LoopUtil.java Mon Aug 08 22:18:47 2011 +0200 +++ b/graal/com.oracle.max.graal.compiler/src/com/oracle/max/graal/compiler/util/LoopUtil.java Mon Aug 08 22:24:44 2011 +0200 @@ -613,7 +613,7 @@ } Merge merge = (Merge) color; List<Node> parentColors = new ArrayList<Node>(merge.phiPredecessorCount()); - for (Node pred : merge.phiPredecessors()) { + for (EndNode pred : merge.cfgPredecessors()) { parentColors.add(colors.get(pred)); } return parentColors;
--- a/graal/com.oracle.max.graal.runtime/src/com/oracle/max/graal/runtime/HotSpotRuntime.java Mon Aug 08 22:18:47 2011 +0200 +++ b/graal/com.oracle.max.graal.runtime/src/com/oracle/max/graal/runtime/HotSpotRuntime.java Mon Aug 08 22:24:44 2011 +0200 @@ -30,7 +30,6 @@ import com.oracle.max.graal.compiler.graph.*; import com.oracle.max.graal.compiler.ir.*; import com.oracle.max.graal.compiler.ir.Conditional.ConditionalStructure; -import com.oracle.max.graal.compiler.ir.MathIntrinsic.Operation; import com.oracle.max.graal.compiler.value.*; import com.oracle.max.graal.graph.*; import com.oracle.max.graal.runtime.nodes.*;