Mercurial > hg > graal-compiler
changeset 19916:fc1e46a702a1
Do not include MoveProfiling phases in stub compilation.
author | Josef Eisl <josef.eisl@jku.at> |
---|---|
date | Mon, 16 Mar 2015 18:19:12 +0100 |
parents | 34372ac20f0b |
children | 815a87264cbb |
files | graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/stubs/Stub.java |
diffstat | 1 files changed, 12 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/stubs/Stub.java Mon Mar 16 16:38:01 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/stubs/Stub.java Mon Mar 16 18:19:12 2015 +0100 @@ -40,6 +40,8 @@ import com.oracle.graal.hotspot.nodes.*; import com.oracle.graal.lir.asm.*; import com.oracle.graal.lir.phases.*; +import com.oracle.graal.lir.phases.PostAllocationOptimizationPhase.PostAllocationOptimizationContext; +import com.oracle.graal.lir.profiling.*; import com.oracle.graal.nodes.*; import com.oracle.graal.phases.*; import com.oracle.graal.phases.schedule.*; @@ -180,7 +182,7 @@ Suites suites = new Suites(new PhaseSuite<>(), defaultSuites.getMidTier(), defaultSuites.getLowTier()); SchedulePhase schedule = emitFrontEnd(providers, target, graph, null, providers.getSuites().getDefaultGraphBuilderSuite(), OptimisticOptimizations.ALL, getProfilingInfo(graph), null, suites); - LIRSuites lirSuites = providers.getSuites().getDefaultLIRSuites(); + LIRSuites lirSuites = createLIRSuites(); emitBackEnd(graph, Stub.this, incomingCc, getInstalledCodeOwner(), backend, target, compResult, CompilationResultBuilderFactory.Default, schedule, getRegisterConfig(), lirSuites); } catch (Throwable e) { throw Debug.handle(e); @@ -210,6 +212,15 @@ return code; } + private LIRSuites createLIRSuites() { + LIRSuites lirSuites = new LIRSuites(providers.getSuites().getDefaultLIRSuites()); + ListIterator<LIRPhase<PostAllocationOptimizationContext>> moveProfiling = lirSuites.getPostAllocationOptimizationStage().findPhase(MoveProfiling.class); + if (moveProfiling != null) { + moveProfiling.remove(); + } + return lirSuites; + } + /** * Gets the compilation result for this stub, compiling it first if necessary, and installing it * in code.