changeset 6279:95489123901a

Merge.
author Doug Simon <doug.simon@oracle.com>
date Wed, 22 Aug 2012 11:25:44 +0200
parents 4f9574b2893e (current diff) 2fb937396924 (diff)
children 52bfa0f15d97
files
diffstat 1 files changed, 5 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/phases/EscapeAnalysisPhase.java	Wed Aug 22 11:20:04 2012 +0200
+++ b/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/phases/EscapeAnalysisPhase.java	Wed Aug 22 11:25:44 2012 +0200
@@ -350,7 +350,7 @@
 
                 Debug.dump(graph, "Before escape %s", node);
                 Debug.log("!!!!!!!! non-escaping object: %s (%s)", node, node.stamp());
-                removeAllocation(node, op);
+                removeAllocation(graph, node, op);
                 Debug.dump(graph, "After escape", graph);
                 break;
             }
@@ -379,8 +379,8 @@
         } while (iterations++ < 3);
     }
 
-    protected void removeAllocation(FixedWithNextNode node, EscapeOp op) {
-        new EscapementFixup(op, (StructuredGraph) node.graph(), node).apply();
+    protected void removeAllocation(StructuredGraph graph, FixedWithNextNode node, EscapeOp op) {
+        new EscapementFixup(op, graph, node).apply();
 
         for (PhiNode phi : node.graph().getNodes(PhiNode.class)) {
             ValueNode simpleValue = phi;
@@ -395,9 +395,10 @@
                 }
             }
             if (!required) {
-                ((StructuredGraph) node.graph()).replaceFloating(phi, simpleValue);
+                graph.replaceFloating(phi, simpleValue);
             }
         }
+        new CanonicalizerPhase(target, runtime, assumptions).apply(graph);
     }
 
     protected boolean shouldAnalyze(@SuppressWarnings("unused") FixedWithNextNode node) {