20 * or visit www.oracle.com if you need additional information or have any |
20 * or visit www.oracle.com if you need additional information or have any |
21 * questions. |
21 * questions. |
22 */ |
22 */ |
23 package org.graalvm.compiler.hotspot.aarch64; |
23 package org.graalvm.compiler.hotspot.aarch64; |
24 |
24 |
25 import static org.graalvm.compiler.core.common.GraalOptions.ZapStackOnMethodEntry; |
|
26 import static java.lang.reflect.Modifier.isStatic; |
25 import static java.lang.reflect.Modifier.isStatic; |
27 import static jdk.vm.ci.aarch64.AArch64.lr; |
26 import static jdk.vm.ci.aarch64.AArch64.lr; |
28 import static jdk.vm.ci.aarch64.AArch64.r10; |
27 import static jdk.vm.ci.aarch64.AArch64.r10; |
29 import static jdk.vm.ci.aarch64.AArch64.sp; |
28 import static jdk.vm.ci.aarch64.AArch64.sp; |
30 import static jdk.vm.ci.aarch64.AArch64.zr; |
29 import static jdk.vm.ci.aarch64.AArch64.zr; |
31 import static jdk.vm.ci.code.ValueUtil.asRegister; |
30 import static jdk.vm.ci.code.ValueUtil.asRegister; |
32 import static jdk.vm.ci.hotspot.aarch64.AArch64HotSpotRegisterConfig.fp; |
31 import static jdk.vm.ci.hotspot.aarch64.AArch64HotSpotRegisterConfig.fp; |
33 |
32 import static org.graalvm.compiler.core.common.GraalOptions.ZapStackOnMethodEntry; |
|
33 |
|
34 import org.graalvm.collections.EconomicSet; |
34 import org.graalvm.compiler.asm.Assembler; |
35 import org.graalvm.compiler.asm.Assembler; |
35 import org.graalvm.compiler.asm.Label; |
36 import org.graalvm.compiler.asm.Label; |
36 import org.graalvm.compiler.asm.aarch64.AArch64Address; |
37 import org.graalvm.compiler.asm.aarch64.AArch64Address; |
37 import org.graalvm.compiler.asm.aarch64.AArch64Assembler; |
38 import org.graalvm.compiler.asm.aarch64.AArch64Assembler; |
38 import org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler; |
39 import org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler; |
40 import org.graalvm.compiler.code.CompilationResult; |
41 import org.graalvm.compiler.code.CompilationResult; |
41 import org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules; |
42 import org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules; |
42 import org.graalvm.compiler.core.common.CompilationIdentifier; |
43 import org.graalvm.compiler.core.common.CompilationIdentifier; |
43 import org.graalvm.compiler.core.common.alloc.RegisterAllocationConfig; |
44 import org.graalvm.compiler.core.common.alloc.RegisterAllocationConfig; |
44 import org.graalvm.compiler.core.common.spi.ForeignCallLinkage; |
45 import org.graalvm.compiler.core.common.spi.ForeignCallLinkage; |
|
46 import org.graalvm.compiler.hotspot.GraalHotSpotVMConfig; |
45 import org.graalvm.compiler.hotspot.HotSpotDataBuilder; |
47 import org.graalvm.compiler.hotspot.HotSpotDataBuilder; |
46 import org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider; |
48 import org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider; |
47 import org.graalvm.compiler.hotspot.HotSpotHostBackend; |
49 import org.graalvm.compiler.hotspot.HotSpotHostBackend; |
48 import org.graalvm.compiler.hotspot.HotSpotLIRGenerationResult; |
50 import org.graalvm.compiler.hotspot.HotSpotLIRGenerationResult; |
49 import org.graalvm.compiler.hotspot.GraalHotSpotVMConfig; |
|
50 import org.graalvm.compiler.hotspot.meta.HotSpotForeignCallsProvider; |
51 import org.graalvm.compiler.hotspot.meta.HotSpotForeignCallsProvider; |
51 import org.graalvm.compiler.hotspot.meta.HotSpotProviders; |
52 import org.graalvm.compiler.hotspot.meta.HotSpotProviders; |
52 import org.graalvm.compiler.hotspot.stubs.Stub; |
53 import org.graalvm.compiler.hotspot.stubs.Stub; |
53 import org.graalvm.compiler.lir.LIR; |
54 import org.graalvm.compiler.lir.LIR; |
54 import org.graalvm.compiler.lir.aarch64.AArch64Call; |
55 import org.graalvm.compiler.lir.aarch64.AArch64Call; |
62 import org.graalvm.compiler.lir.framemap.FrameMapBuilder; |
63 import org.graalvm.compiler.lir.framemap.FrameMapBuilder; |
63 import org.graalvm.compiler.lir.gen.LIRGenerationResult; |
64 import org.graalvm.compiler.lir.gen.LIRGenerationResult; |
64 import org.graalvm.compiler.lir.gen.LIRGeneratorTool; |
65 import org.graalvm.compiler.lir.gen.LIRGeneratorTool; |
65 import org.graalvm.compiler.nodes.StructuredGraph; |
66 import org.graalvm.compiler.nodes.StructuredGraph; |
66 import org.graalvm.compiler.nodes.spi.NodeLIRBuilderTool; |
67 import org.graalvm.compiler.nodes.spi.NodeLIRBuilderTool; |
67 import org.graalvm.util.EconomicSet; |
|
68 |
68 |
69 import jdk.vm.ci.code.CallingConvention; |
69 import jdk.vm.ci.code.CallingConvention; |
70 import jdk.vm.ci.code.Register; |
70 import jdk.vm.ci.code.Register; |
71 import jdk.vm.ci.code.RegisterConfig; |
71 import jdk.vm.ci.code.RegisterConfig; |
72 import jdk.vm.ci.code.StackSlot; |
72 import jdk.vm.ci.code.StackSlot; |