src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.aarch64/src/org/graalvm/compiler/replacements/aarch64/AArch64GraphBuilderPlugins.java
--- a/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.aarch64/src/org/graalvm/compiler/replacements/aarch64/AArch64GraphBuilderPlugins.java Mon May 06 12:17:54 2019 -0700
+++ b/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.aarch64/src/org/graalvm/compiler/replacements/aarch64/AArch64GraphBuilderPlugins.java Mon May 06 21:50:20 2019 +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.