Mercurial > hg > graal-compiler
changeset 9530:2777aafe689b
TypeProfileProxy: remove profile proxies after inlining logic
before, profiles were lost after the first iteration of
IterativeInliningPhase (if enabled)
author | Bernhard Urban <bernhard.urban@jku.at> |
---|---|
date | Thu, 02 May 2013 21:28:13 +0200 |
parents | afbb1b5a0eaa |
children | 63b4cea1ed3f 238431ec62a2 58a2ff06f4b4 |
files | graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalCompiler.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/TypeProfileProxyNode.java graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/InliningPhase.java |
diffstat | 3 files changed, 3 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalCompiler.java Thu May 02 20:53:27 2013 +0200 +++ b/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalCompiler.java Thu May 02 21:28:13 2013 +0200 @@ -133,9 +133,8 @@ new IterativeConditionalEliminationPhase().apply(graph, highTierContext); } } - } else { - TypeProfileProxyNode.cleanFromGraph(graph); } + TypeProfileProxyNode.cleanFromGraph(graph); plan.runPhases(PhasePosition.HIGH_LEVEL, graph);
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/TypeProfileProxyNode.java Thu May 02 20:53:27 2013 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/TypeProfileProxyNode.java Thu May 02 21:28:13 2013 +0200 @@ -126,7 +126,8 @@ public static void cleanFromGraph(StructuredGraph graph) { for (TypeProfileProxyNode proxy : graph.getNodes(TypeProfileProxyNode.class)) { - proxy.replaceAtUsages(proxy.getObject()); + graph.replaceFloating(proxy, proxy.getObject()); } + assert graph.getNodes(TypeProfileProxyNode.class).count() == 0; } }
--- a/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/InliningPhase.java Thu May 02 20:53:27 2013 +0200 +++ b/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/InliningPhase.java Thu May 02 21:28:13 2013 +0200 @@ -144,9 +144,6 @@ } } } - - // Clean up type profiles. - TypeProfileProxyNode.cleanFromGraph(graph); } @Override