# HG changeset patch # User Doug Simon # Date 1345627544 -7200 # Node ID 95489123901a30738496c77b544079655a24dae0 # Parent 4f9574b2893e6fa49f88bf687813ecb679d61c21# Parent 2fb937396924ee53923775bdefcfcf670f459906 Merge. diff -r 4f9574b2893e -r 95489123901a graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/phases/EscapeAnalysisPhase.java --- 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) {