--- old/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.aarch64/src/org/graalvm/compiler/replacements/aarch64/AArch64GraphBuilderPlugins.java 2019-05-06 15:59:00.187376353 +0200 +++ new/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.aarch64/src/org/graalvm/compiler/replacements/aarch64/AArch64GraphBuilderPlugins.java 2019-05-06 15:58:59.787373792 +0200 @@ -59,7 +59,13 @@ public class AArch64GraphBuilderPlugins { - public static void register(Plugins plugins, BytecodeProvider bytecodeProvider, boolean explicitUnsafeNullChecks, boolean registerMathPlugins) { + public static void register(Plugins plugins, BytecodeProvider bytecodeProvider, boolean explicitUnsafeNullChecks, + boolean registerMathPlugins) { + register(plugins, bytecodeProvider, explicitUnsafeNullChecks, registerMathPlugins, true); + } + + public static void register(Plugins plugins, BytecodeProvider bytecodeProvider, boolean explicitUnsafeNullChecks, + boolean registerMathPlugins, boolean emitJDK9StringSubstitutions) { InvocationPlugins invocationPlugins = plugins.getInvocationPlugins(); invocationPlugins.defer(new Runnable() { @Override @@ -69,8 +75,10 @@ if (registerMathPlugins) { registerMathPlugins(invocationPlugins); } - registerStringLatin1Plugins(invocationPlugins, bytecodeProvider); - registerStringUTF16Plugins(invocationPlugins, bytecodeProvider); + if (emitJDK9StringSubstitutions) { + registerStringLatin1Plugins(invocationPlugins, bytecodeProvider); + registerStringUTF16Plugins(invocationPlugins, bytecodeProvider); + } registerUnsafePlugins(invocationPlugins, bytecodeProvider); // This is temporarily disabled until we implement correct emitting of the CAS // instructions of the proper width.