src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.aarch64/src/org/graalvm/compiler/replacements/aarch64/AArch64GraphBuilderPlugins.java
changeset 52578 7dd81e82d083
parent 52220 9c260a6b6471
child 52910 583fd71c47d6
equal deleted inserted replaced
52577:5b87d3fc1093 52578:7dd81e82d083
   166             r.registerMethodSubstitution(AArch64StringUTF16Substitutions.class, "compareToLatin1", byte[].class, byte[].class);
   166             r.registerMethodSubstitution(AArch64StringUTF16Substitutions.class, "compareToLatin1", byte[].class, byte[].class);
   167         }
   167         }
   168     }
   168     }
   169 
   169 
   170     private static void registerUnsafePlugins(InvocationPlugins plugins, BytecodeProvider replacementsBytecodeProvider) {
   170     private static void registerUnsafePlugins(InvocationPlugins plugins, BytecodeProvider replacementsBytecodeProvider) {
   171         Registration r;
   171         registerUnsafePlugins(new Registration(plugins, Unsafe.class), new JavaKind[]{JavaKind.Int, JavaKind.Long, JavaKind.Object});
   172         JavaKind[] unsafeJavaKinds;
   172         if (!Java8OrEarlier) {
   173         if (Java8OrEarlier) {
   173             registerUnsafePlugins(new Registration(plugins, "jdk.internal.misc.Unsafe", replacementsBytecodeProvider), new JavaKind[]{JavaKind.Int, JavaKind.Long, JavaKind.Object});
   174             r = new Registration(plugins, Unsafe.class);
   174         }
   175             unsafeJavaKinds = new JavaKind[]{JavaKind.Int, JavaKind.Long, JavaKind.Object};
   175     }
   176         } else {
   176 
   177             r = new Registration(plugins, "jdk.internal.misc.Unsafe", replacementsBytecodeProvider);
   177     private static void registerUnsafePlugins(Registration r, JavaKind[] unsafeJavaKinds) {
   178             unsafeJavaKinds = new JavaKind[]{JavaKind.Int, JavaKind.Long, JavaKind.Object};
       
   179         }
       
   180 
   178 
   181         for (JavaKind kind : unsafeJavaKinds) {
   179         for (JavaKind kind : unsafeJavaKinds) {
   182             Class<?> javaClass = kind == JavaKind.Object ? Object.class : kind.toJavaClass();
   180             Class<?> javaClass = kind == JavaKind.Object ? Object.class : kind.toJavaClass();
   183             String kindName = (kind == JavaKind.Object && !Java11OrEarlier) ? "Reference" : kind.name();
   181             String kindName = (kind == JavaKind.Object && !Java11OrEarlier) ? "Reference" : kind.name();
   184             r.register4("getAndSet" + kindName, Receiver.class, Object.class, long.class, javaClass, new InvocationPlugin() {
   182             r.register4("getAndSet" + kindName, Receiver.class, Object.class, long.class, javaClass, new InvocationPlugin() {