src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.aarch64/src/org/graalvm/compiler/hotspot/aarch64/AArch64HotSpotBackendFactory.java
changeset 48861 47f19ff9903c
parent 47216 71c04702a3d5
child 49873 26ebfe8ce852
equal deleted inserted replaced
48860:5bce1b7e7800 48861:47f19ff9903c
    47 import org.graalvm.compiler.hotspot.meta.HotSpotSnippetReflectionProvider;
    47 import org.graalvm.compiler.hotspot.meta.HotSpotSnippetReflectionProvider;
    48 import org.graalvm.compiler.hotspot.meta.HotSpotStampProvider;
    48 import org.graalvm.compiler.hotspot.meta.HotSpotStampProvider;
    49 import org.graalvm.compiler.hotspot.meta.HotSpotSuitesProvider;
    49 import org.graalvm.compiler.hotspot.meta.HotSpotSuitesProvider;
    50 import org.graalvm.compiler.hotspot.word.HotSpotWordTypes;
    50 import org.graalvm.compiler.hotspot.word.HotSpotWordTypes;
    51 import org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration.Plugins;
    51 import org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration.Plugins;
       
    52 import org.graalvm.compiler.nodes.spi.LoweringProvider;
    52 import org.graalvm.compiler.options.OptionValues;
    53 import org.graalvm.compiler.options.OptionValues;
    53 import org.graalvm.compiler.phases.tiers.CompilerConfiguration;
    54 import org.graalvm.compiler.phases.tiers.CompilerConfiguration;
    54 import org.graalvm.compiler.phases.util.Providers;
    55 import org.graalvm.compiler.phases.util.Providers;
    55 import org.graalvm.compiler.replacements.aarch64.AArch64GraphBuilderPlugins;
    56 import org.graalvm.compiler.replacements.aarch64.AArch64GraphBuilderPlugins;
    56 import org.graalvm.compiler.replacements.classfile.ClassfileBytecodeProvider;
    57 import org.graalvm.compiler.replacements.classfile.ClassfileBytecodeProvider;
   134             }
   135             }
   135             try (InitTimer rt = timer("create Replacements provider")) {
   136             try (InitTimer rt = timer("create Replacements provider")) {
   136                 replacements = createReplacements(graalRuntime.getOptions(), p, snippetReflection, bytecodeProvider);
   137                 replacements = createReplacements(graalRuntime.getOptions(), p, snippetReflection, bytecodeProvider);
   137             }
   138             }
   138             try (InitTimer rt = timer("create GraphBuilderPhase plugins")) {
   139             try (InitTimer rt = timer("create GraphBuilderPhase plugins")) {
   139                 plugins = createGraphBuilderPlugins(compilerConfiguration, config, constantReflection, foreignCalls, metaAccess, snippetReflection, replacements, wordTypes, stampProvider);
   140                 plugins = createGraphBuilderPlugins(compilerConfiguration, config, constantReflection, foreignCalls, lowerer, metaAccess, snippetReflection, replacements, wordTypes, stampProvider);
   140                 replacements.setGraphBuilderPlugins(plugins);
   141                 replacements.setGraphBuilderPlugins(plugins);
   141             }
   142             }
   142             try (InitTimer rt = timer("create Suites provider")) {
   143             try (InitTimer rt = timer("create Suites provider")) {
   143                 suites = createSuites(config, graalRuntime, compilerConfiguration, plugins);
   144                 suites = createSuites(config, graalRuntime, compilerConfiguration, plugins);
   144             }
   145             }
   150             return createBackend(config, graalRuntime, providers);
   151             return createBackend(config, graalRuntime, providers);
   151         }
   152         }
   152     }
   153     }
   153 
   154 
   154     protected Plugins createGraphBuilderPlugins(CompilerConfiguration compilerConfiguration, GraalHotSpotVMConfig config, HotSpotConstantReflectionProvider constantReflection,
   155     protected Plugins createGraphBuilderPlugins(CompilerConfiguration compilerConfiguration, GraalHotSpotVMConfig config, HotSpotConstantReflectionProvider constantReflection,
   155                     HotSpotHostForeignCallsProvider foreignCalls, HotSpotMetaAccessProvider metaAccess, HotSpotSnippetReflectionProvider snippetReflection, HotSpotReplacementsImpl replacements,
   156                     HotSpotHostForeignCallsProvider foreignCalls, LoweringProvider lowerer, HotSpotMetaAccessProvider metaAccess, HotSpotSnippetReflectionProvider snippetReflection,
   156                     HotSpotWordTypes wordTypes, HotSpotStampProvider stampProvider) {
   157                     HotSpotReplacementsImpl replacements, HotSpotWordTypes wordTypes, HotSpotStampProvider stampProvider) {
   157         Plugins plugins = HotSpotGraphBuilderPlugins.create(compilerConfiguration, config, wordTypes, metaAccess, constantReflection, snippetReflection, foreignCalls, stampProvider, replacements);
   158         Plugins plugins = HotSpotGraphBuilderPlugins.create(compilerConfiguration, config, wordTypes, metaAccess, constantReflection, snippetReflection, foreignCalls, lowerer, stampProvider,
       
   159                         replacements);
   158         AArch64GraphBuilderPlugins.register(plugins, replacements.getDefaultReplacementBytecodeProvider());
   160         AArch64GraphBuilderPlugins.register(plugins, replacements.getDefaultReplacementBytecodeProvider());
   159         return plugins;
   161         return plugins;
   160     }
   162     }
   161 
   163 
   162     protected AArch64HotSpotBackend createBackend(GraalHotSpotVMConfig config, HotSpotGraalRuntimeProvider runtime, HotSpotProviders providers) {
   164     protected AArch64HotSpotBackend createBackend(GraalHotSpotVMConfig config, HotSpotGraalRuntimeProvider runtime, HotSpotProviders providers) {