--- a/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.aarch64/src/org/graalvm/compiler/hotspot/aarch64/AArch64HotSpotBackendFactory.java Thu Oct 31 14:23:06 2019 -0700
+++ b/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.aarch64/src/org/graalvm/compiler/hotspot/aarch64/AArch64HotSpotBackendFactory.java Thu Oct 31 16:54:16 2019 -0700
@@ -100,6 +100,7 @@
public HotSpotBackend createBackend(HotSpotGraalRuntimeProvider graalRuntime, CompilerConfiguration compilerConfiguration, HotSpotJVMCIRuntime jvmciRuntime, HotSpotBackend host) {
assert host == null;
+ OptionValues options = graalRuntime.getOptions();
JVMCIBackend jvmci = jvmciRuntime.getHostJVMCIBackend();
GraalHotSpotVMConfig config = graalRuntime.getVMConfig();
HotSpotProviders providers;
@@ -156,7 +157,7 @@
}
try (InitTimer rt = timer("create GraphBuilderPhase plugins")) {
plugins = createGraphBuilderPlugins(graalRuntime, compilerConfiguration, config, constantReflection, foreignCalls, metaAccess, snippetReflection, replacements, wordTypes,
- graalRuntime.getOptions());
+ graalRuntime.getOptions(), target);
replacements.setGraphBuilderPlugins(plugins);
}
try (InitTimer rt = timer("create Suites provider")) {
@@ -165,6 +166,7 @@
providers = new HotSpotProviders(metaAccess, codeCache, constantReflection, constantFieldProvider, foreignCalls, lowerer, replacements, suites, registers,
snippetReflection, wordTypes, plugins, gc);
replacements.setProviders(providers);
+ replacements.maybeInitializeEncoder(options);
}
try (InitTimer rt = timer("instantiate backend")) {
return createBackend(config, graalRuntime, providers);
@@ -180,7 +182,8 @@
HotSpotSnippetReflectionProvider snippetReflection,
HotSpotReplacementsImpl replacements,
HotSpotWordTypes wordTypes,
- OptionValues options) {
+ OptionValues options,
+ TargetDescription target) {
Plugins plugins = HotSpotGraphBuilderPlugins.create(graalRuntime,
compilerConfiguration,
config,
@@ -190,8 +193,9 @@
snippetReflection,
foreignCalls,
replacements,
- options);
- AArch64GraphBuilderPlugins.register(plugins, replacements.getDefaultReplacementBytecodeProvider(), false,
+ options,
+ target);
+ AArch64GraphBuilderPlugins.register(plugins, replacements, false, //
/* registerMathPlugins */true, /* emitJDK9StringSubstitutions */true, config.useFMAIntrinsics);
return plugins;
}