# HG changeset patch # User Thomas Wuerthinger # Date 1308151111 -7200 # Node ID c7ce8d00c33ff26c1f50ed5dc0acd0d11db18f00 # Parent 8f1e2c8815b489987cba3a779a7502c98ac65017 Removed predecessorIndex array from the Node base class. diff -r 8f1e2c8815b4 -r c7ce8d00c33f graal/com.oracle.max.graal.compiler/src/com/oracle/max/graal/compiler/gen/LIRGenerator.java --- a/graal/com.oracle.max.graal.compiler/src/com/oracle/max/graal/compiler/gen/LIRGenerator.java Wed Jun 15 17:13:34 2011 +0200 +++ b/graal/com.oracle.max.graal.compiler/src/com/oracle/max/graal/compiler/gen/LIRGenerator.java Wed Jun 15 17:18:31 2011 +0200 @@ -1438,7 +1438,7 @@ if (nextInstr instanceof Merge) { Merge merge = (Merge) nextInstr; - assert nextSuccIndex >= 0 : "nextSuccIndex=" + nextSuccIndex + ", lastNode=" + lastNode + ", nextInstr=" + nextInstr + "; preds=" + nextInstr.predecessors() + "; predIndex=" + nextInstr.predecessorsIndex(); + assert nextSuccIndex >= 0 : "nextSuccIndex=" + nextSuccIndex + ", lastNode=" + lastNode + ", nextInstr=" + nextInstr + "; preds=" + nextInstr.predecessors() + ";"; PhiResolver resolver = new PhiResolver(this); for (Node n : merge.usages()) { diff -r 8f1e2c8815b4 -r c7ce8d00c33f graal/com.oracle.max.graal.graph/src/com/oracle/max/graal/graph/Graph.java --- a/graal/com.oracle.max.graal.graph/src/com/oracle/max/graal/graph/Graph.java Wed Jun 15 17:13:34 2011 +0200 +++ b/graal/com.oracle.max.graal.graph/src/com/oracle/max/graal/graph/Graph.java Wed Jun 15 17:18:31 2011 +0200 @@ -208,32 +208,6 @@ } } } - /* - // re-wire successors - for (Entry entry : newNodes.entrySet()) { - Node oldNode = entry.getKey(); - Node node = entry.getValue(); - for (int i = 0; i < oldNode.predecessors().size(); i++) { - Node pred = oldNode.predecessors().get(i); - int predIndex = oldNode.predecessorsIndex().get(i); - Node source = replacements.get(pred); - if (source == null) { - source = newNodes.get(pred); - } - source.successors().set(predIndex, node); - } - } - for (Entry entry : replacements.entrySet()) { - Node oldNode = entry.getKey(); - Node node = entry.getValue(); - for (int i = 0; i < oldNode.predecessors().size(); i++) { - Node pred = oldNode.predecessors().get(i); - int predIndex = oldNode.predecessorsIndex().get(i); - if (newNodes.containsKey(pred)) { - newNodes.get(pred).successors().set(predIndex, node); - } - } - }*/ return newNodes; } } diff -r 8f1e2c8815b4 -r c7ce8d00c33f graal/com.oracle.max.graal.graph/src/com/oracle/max/graal/graph/Node.java --- a/graal/com.oracle.max.graal.graph/src/com/oracle/max/graal/graph/Node.java Wed Jun 15 17:13:34 2011 +0200 +++ b/graal/com.oracle.max.graal.graph/src/com/oracle/max/graal/graph/Node.java Wed Jun 15 17:18:31 2011 +0200 @@ -39,7 +39,6 @@ final NodeArray successors; final ArrayList usages; final ArrayList predecessors; - final ArrayList predecessorsIndex; public Node(int inputCount, int successorCount, Graph graph) { assert graph != null : "cannot create a node for a null graph"; @@ -49,17 +48,12 @@ this.successors = new NodeArray(this, successorCount); this.predecessors = new ArrayList(); this.usages = new ArrayList(); - this.predecessorsIndex = new ArrayList(); } public List predecessors() { return Collections.unmodifiableList(predecessors); } - public List predecessorsIndex() { - return Collections.unmodifiableList(predecessorsIndex); - } - public List usages() { return Collections.unmodifiableList(usages); } @@ -96,18 +90,19 @@ } int z = 0; for (Node predecessor : predecessors) { - int predIndex = predecessorsIndex.get(z); - predecessor.successors.silentSet(predIndex, other); + for (int i=0; i