43 import org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins.Registration; |
43 import org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins.Registration; |
44 import org.graalvm.compiler.nodes.java.AtomicReadAndAddNode; |
44 import org.graalvm.compiler.nodes.java.AtomicReadAndAddNode; |
45 import org.graalvm.compiler.nodes.java.AtomicReadAndWriteNode; |
45 import org.graalvm.compiler.nodes.java.AtomicReadAndWriteNode; |
46 import org.graalvm.compiler.nodes.memory.address.AddressNode; |
46 import org.graalvm.compiler.nodes.memory.address.AddressNode; |
47 import org.graalvm.compiler.nodes.memory.address.OffsetAddressNode; |
47 import org.graalvm.compiler.nodes.memory.address.OffsetAddressNode; |
|
48 import org.graalvm.compiler.replacements.TargetGraphBuilderPlugins; |
48 import org.graalvm.compiler.replacements.nodes.BinaryMathIntrinsicNode; |
49 import org.graalvm.compiler.replacements.nodes.BinaryMathIntrinsicNode; |
49 import org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode; |
50 import org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode; |
50 import org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode.UnaryOperation; |
51 import org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode.UnaryOperation; |
51 import org.graalvm.compiler.serviceprovider.JavaVersionUtil; |
52 import org.graalvm.compiler.serviceprovider.JavaVersionUtil; |
52 import jdk.internal.vm.compiler.word.LocationIdentity; |
53 import jdk.internal.vm.compiler.word.LocationIdentity; |
53 |
54 |
|
55 import jdk.vm.ci.code.Architecture; |
54 import jdk.vm.ci.meta.JavaKind; |
56 import jdk.vm.ci.meta.JavaKind; |
55 import jdk.vm.ci.meta.ResolvedJavaMethod; |
57 import jdk.vm.ci.meta.ResolvedJavaMethod; |
56 import sun.misc.Unsafe; |
58 import sun.misc.Unsafe; |
57 |
59 |
58 public class AArch64GraphBuilderPlugins { |
60 public class AArch64GraphBuilderPlugins implements TargetGraphBuilderPlugins { |
|
61 @Override |
|
62 public void register(Plugins plugins, BytecodeProvider replacementsBytecodeProvider, Architecture arch, boolean explicitUnsafeNullChecks, boolean registerMathPlugins, |
|
63 boolean emitJDK9StringSubstitutions, boolean useFMAIntrinsics) { |
|
64 register(plugins, replacementsBytecodeProvider, explicitUnsafeNullChecks, registerMathPlugins, emitJDK9StringSubstitutions); |
|
65 } |
59 |
66 |
60 public static void register(Plugins plugins, BytecodeProvider bytecodeProvider, boolean explicitUnsafeNullChecks, |
67 public static void register(Plugins plugins, BytecodeProvider bytecodeProvider, boolean explicitUnsafeNullChecks, |
61 boolean registerMathPlugins) { |
68 boolean registerMathPlugins) { |
62 register(plugins, bytecodeProvider, explicitUnsafeNullChecks, registerMathPlugins, true); |
69 register(plugins, bytecodeProvider, explicitUnsafeNullChecks, registerMathPlugins, true); |
63 } |
70 } |