< prev index next >
src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.aarch64/src/org/graalvm/compiler/replacements/aarch64/AArch64GraphBuilderPlugins.java
Print this page
rev 52509 : [mq]: graal2
*** 166,184 ****
r.registerMethodSubstitution(AArch64StringUTF16Substitutions.class, "compareToLatin1", byte[].class, byte[].class);
}
}
private static void registerUnsafePlugins(InvocationPlugins plugins, BytecodeProvider replacementsBytecodeProvider) {
! Registration r;
! JavaKind[] unsafeJavaKinds;
! if (Java8OrEarlier) {
! r = new Registration(plugins, Unsafe.class);
! unsafeJavaKinds = new JavaKind[]{JavaKind.Int, JavaKind.Long, JavaKind.Object};
! } else {
! r = new Registration(plugins, "jdk.internal.misc.Unsafe", replacementsBytecodeProvider);
! unsafeJavaKinds = new JavaKind[]{JavaKind.Int, JavaKind.Long, JavaKind.Object};
}
for (JavaKind kind : unsafeJavaKinds) {
Class<?> javaClass = kind == JavaKind.Object ? Object.class : kind.toJavaClass();
String kindName = (kind == JavaKind.Object && !Java11OrEarlier) ? "Reference" : kind.name();
r.register4("getAndSet" + kindName, Receiver.class, Object.class, long.class, javaClass, new InvocationPlugin() {
--- 166,182 ----
r.registerMethodSubstitution(AArch64StringUTF16Substitutions.class, "compareToLatin1", byte[].class, byte[].class);
}
}
private static void registerUnsafePlugins(InvocationPlugins plugins, BytecodeProvider replacementsBytecodeProvider) {
! registerUnsafePlugins(new Registration(plugins, Unsafe.class), new JavaKind[]{JavaKind.Int, JavaKind.Long, JavaKind.Object});
! if (!Java8OrEarlier) {
! registerUnsafePlugins(new Registration(plugins, "jdk.internal.misc.Unsafe", replacementsBytecodeProvider), new JavaKind[]{JavaKind.Int, JavaKind.Long, JavaKind.Object});
}
+ }
+
+ private static void registerUnsafePlugins(Registration r, JavaKind[] unsafeJavaKinds) {
for (JavaKind kind : unsafeJavaKinds) {
Class<?> javaClass = kind == JavaKind.Object ? Object.class : kind.toJavaClass();
String kindName = (kind == JavaKind.Object && !Java11OrEarlier) ? "Reference" : kind.name();
r.register4("getAndSet" + kindName, Receiver.class, Object.class, long.class, javaClass, new InvocationPlugin() {
< prev index next >