Mercurial > hg > graal-compiler
changeset 22470:d898359f572c
Don't use service lookup to discover HotSpotGraalCompiler in CompilationTask.
author | Roland Schatz <roland.schatz@oracle.com> |
---|---|
date | Wed, 12 Aug 2015 13:57:35 +0200 |
parents | eb2f0fb5b0a2 |
children | 0a082a17d2a7 |
files | graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/CompilationTask.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotGraalCompiler.java |
diffstat | 2 files changed, 18 insertions(+), 17 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/CompilationTask.java Fri Aug 14 09:59:41 2015 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/CompilationTask.java Wed Aug 12 13:57:35 2015 +0200 @@ -47,6 +47,7 @@ private static final DebugMetric BAILOUTS = Debug.metric("Bailouts"); private static final EventProvider eventProvider; + static { EventProvider provider = Services.loadSingle(EventProvider.class, false); if (provider == null) { @@ -55,7 +56,6 @@ eventProvider = provider; } } - private static final Compiler compiler = Services.loadSingle(Compiler.class, true); private final HotSpotResolvedJavaMethod method; private final int entryBCI; @@ -158,6 +158,7 @@ // Begin the compilation event. compilationEvent.begin(); + HotSpotGraalCompiler compiler = new HotSpotGraalCompiler(); result = compiler.compile(method, entryBCI, mustRecordMethodInlining(config)); result.setId(getId());
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotGraalCompiler.java Fri Aug 14 09:59:41 2015 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotGraalCompiler.java Wed Aug 12 13:57:35 2015 +0200 @@ -26,34 +26,33 @@ import static com.oracle.graal.graphbuilderconf.IntrinsicContext.CompilationContext.*; import static jdk.internal.jvmci.code.CallingConvention.Type.*; import static jdk.internal.jvmci.code.CodeUtil.*; -import jdk.internal.jvmci.code.*; -import jdk.internal.jvmci.code.CallingConvention.Type; -import jdk.internal.jvmci.compiler.Compiler; -import jdk.internal.jvmci.meta.*; -import jdk.internal.jvmci.service.*; import com.oracle.graal.compiler.*; import com.oracle.graal.graphbuilderconf.*; -import com.oracle.graal.graphbuilderconf.GraphBuilderConfiguration.Plugins; +import com.oracle.graal.graphbuilderconf.GraphBuilderConfiguration.*; import com.oracle.graal.hotspot.meta.*; import com.oracle.graal.hotspot.phases.*; import com.oracle.graal.java.*; import com.oracle.graal.lir.asm.*; import com.oracle.graal.lir.phases.*; import com.oracle.graal.nodes.*; -import com.oracle.graal.nodes.StructuredGraph.AllowAssumptions; +import com.oracle.graal.nodes.StructuredGraph.*; import com.oracle.graal.nodes.spi.*; import com.oracle.graal.phases.*; -import com.oracle.graal.phases.OptimisticOptimizations.Optimization; +import com.oracle.graal.phases.OptimisticOptimizations.*; import com.oracle.graal.phases.tiers.*; -@ServiceProvider(Compiler.class) -public class HotSpotGraalCompiler implements Compiler { +import jdk.internal.jvmci.code.*; +import jdk.internal.jvmci.code.CallingConvention.*; +import jdk.internal.jvmci.compiler.Compiler; +import jdk.internal.jvmci.meta.*; + +public class HotSpotGraalCompiler { public CompilationResult compile(ResolvedJavaMethod method, int entryBCI, boolean mustRecordMethodInlining) { HotSpotBackend backend = HotSpotGraalRuntime.runtime().getHostBackend(); HotSpotProviders providers = HotSpotGraalRuntime.runtime().getHostProviders(); - final boolean isOSR = entryBCI != INVOCATION_ENTRY_BCI; + final boolean isOSR = entryBCI != Compiler.INVOCATION_ENTRY_BCI; StructuredGraph graph = method.isNative() || isOSR ? null : getIntrinsicGraph(method, providers); if (graph == null) { @@ -84,8 +83,8 @@ // all code after the OSR loop is never executed. optimisticOpts.remove(Optimization.RemoveNeverExecutedCode); } - CompilationResult result = GraalCompiler.compileGraph(graph, cc, method, providers, backend, backend.getTarget(), getGraphBuilderSuite(providers, isOSR), optimisticOpts, profilingInfo, - suites, lirSuites, new CompilationResult(), CompilationResultBuilderFactory.Default); + CompilationResult result = GraalCompiler.compileGraph(graph, cc, method, providers, backend, backend.getTarget(), getGraphBuilderSuite(providers, isOSR), optimisticOpts, profilingInfo, suites, + lirSuites, new CompilationResult(), CompilationResultBuilderFactory.Default); result.setEntryBCI(entryBCI); @@ -108,13 +107,14 @@ Replacements replacements = providers.getReplacements(); ResolvedJavaMethod substMethod = replacements.getSubstitutionMethod(method); if (substMethod != null) { - assert !substMethod.equals(method); + assert!substMethod.equals(method); StructuredGraph graph = new StructuredGraph(substMethod, AllowAssumptions.YES); Plugins plugins = new Plugins(providers.getGraphBuilderPlugins()); GraphBuilderConfiguration config = GraphBuilderConfiguration.getSnippetDefault(plugins); IntrinsicContext initialReplacementContext = new IntrinsicContext(method, substMethod, ROOT_COMPILATION); - new GraphBuilderPhase.Instance(providers.getMetaAccess(), providers.getStampProvider(), providers.getConstantReflection(), config, OptimisticOptimizations.NONE, initialReplacementContext).apply(graph); - assert !graph.isFrozen(); + new GraphBuilderPhase.Instance(providers.getMetaAccess(), providers.getStampProvider(), providers.getConstantReflection(), config, OptimisticOptimizations.NONE, + initialReplacementContext).apply(graph); + assert!graph.isFrozen(); return graph; } return null;