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;