abstract class org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotEpilogueOp extends org.graalvm.compiler.lir.aarch64.AArch64BlockEndOp
minor version: 0
major version: 59
flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
this_class: org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotEpilogueOp
super_class: org.graalvm.compiler.lir.aarch64.AArch64BlockEndOp
{
private final org.graalvm.compiler.hotspot.GraalHotSpotVMConfig config;
descriptor: Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.vm.ci.code.Register thread;
descriptor: Ljdk/vm/ci/code/Register;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/graalvm/compiler/hotspot/aarch64/AArch64HotSpotEpilogueOp;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotEpilogueOp.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
protected void <init>(org.graalvm.compiler.lir.LIRInstructionClass<? extends org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotEpilogueOp>, org.graalvm.compiler.hotspot.GraalHotSpotVMConfig, jdk.vm.ci.code.Register);
descriptor: (Lorg/graalvm/compiler/lir/LIRInstructionClass;Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;Ljdk/vm/ci/code/Register;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
invokespecial org.graalvm.compiler.lir.aarch64.AArch64BlockEndOp.<init>:(Lorg/graalvm/compiler/lir/LIRInstructionClass;)V
1: aload 0
aload 2
putfield org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotEpilogueOp.config:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
2: aload 0
aload 3
putfield org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotEpilogueOp.thread:Ljdk/vm/ci/code/Register;
3: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/hotspot/aarch64/AArch64HotSpotEpilogueOp;
0 4 1 c Lorg/graalvm/compiler/lir/LIRInstructionClass<+Lorg/graalvm/compiler/hotspot/aarch64/AArch64HotSpotEpilogueOp;>;
0 4 2 config Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
0 4 3 thread Ljdk/vm/ci/code/Register;
Signature: (Lorg/graalvm/compiler/lir/LIRInstructionClass<+Lorg/graalvm/compiler/hotspot/aarch64/AArch64HotSpotEpilogueOp;>;Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;Ljdk/vm/ci/code/Register;)V
MethodParameters:
Name Flags
c
config
thread
protected void <init>(org.graalvm.compiler.lir.LIRInstructionClass<? extends org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotEpilogueOp>, org.graalvm.compiler.hotspot.GraalHotSpotVMConfig);
descriptor: (Lorg/graalvm/compiler/lir/LIRInstructionClass;Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokespecial org.graalvm.compiler.lir.aarch64.AArch64BlockEndOp.<init>:(Lorg/graalvm/compiler/lir/LIRInstructionClass;)V
1: aload 0
aload 2
putfield org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotEpilogueOp.config:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
2: aload 0
aconst_null
putfield org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotEpilogueOp.thread:Ljdk/vm/ci/code/Register;
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/hotspot/aarch64/AArch64HotSpotEpilogueOp;
0 4 1 c Lorg/graalvm/compiler/lir/LIRInstructionClass<+Lorg/graalvm/compiler/hotspot/aarch64/AArch64HotSpotEpilogueOp;>;
0 4 2 config Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
Signature: (Lorg/graalvm/compiler/lir/LIRInstructionClass<+Lorg/graalvm/compiler/hotspot/aarch64/AArch64HotSpotEpilogueOp;>;Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)V
MethodParameters:
Name Flags
c
config
protected void leaveFrame(org.graalvm.compiler.lir.asm.CompilationResultBuilder, org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler, boolean, boolean);
descriptor: (Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;ZZ)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=8, locals=13, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: getstatic org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotEpilogueOp.$assertionsDisabled:Z
ifne 1
aload 1
getfield org.graalvm.compiler.lir.asm.CompilationResultBuilder.frameContext:Lorg/graalvm/compiler/lir/asm/FrameContext;
ifnonnull 1
new java.lang.AssertionError
dup
ldc "We never elide frames in aarch64"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
1: StackMap locals:
StackMap stack:
aload 1
getfield org.graalvm.compiler.lir.asm.CompilationResultBuilder.frameContext:Lorg/graalvm/compiler/lir/asm/FrameContext;
aload 1
invokeinterface org.graalvm.compiler.lir.asm.FrameContext.leave:(Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;)V
2: iload 4
ifeq 35
3: aload 1
getfield org.graalvm.compiler.lir.asm.CompilationResultBuilder.foreignCalls:Lorg/graalvm/compiler/core/common/spi/ForeignCallsProvider;
checkcast org.graalvm.compiler.hotspot.meta.HotSpotForeignCallsProvider
astore 5
start local 5 4: new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
astore 6
start local 6 5: aconst_null
astore 7
aconst_null
astore 8
6: aload 2
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.getScratchRegister:()Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$ScratchRegister;
astore 9
start local 9 7: aload 9
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$ScratchRegister.getRegister:()Ljdk/vm/ci/code/Register;
astore 10
start local 10 8: aload 2
bipush 64
aload 10
aload 2
aload 0
getfield org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotEpilogueOp.thread:Ljdk/vm/ci/code/Register;
aload 0
getfield org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotEpilogueOp.config:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.javaThreadReservedStackActivationOffset:I
i2l
bipush 8
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.makeAddress:(Ljdk/vm/ci/code/Register;JI)Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.ldr:(ILjdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Address;)V
9: aload 2
bipush 64
getstatic jdk.vm.ci.aarch64.AArch64.zr:Ljdk/vm/ci/code/Register;
getstatic jdk.vm.ci.aarch64.AArch64.sp:Ljdk/vm/ci/code/Register;
aload 10
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.subs:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
end local 10 10: aload 9
ifnull 16
aload 9
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$ScratchRegister.close:()V
goto 16
StackMap locals: org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotEpilogueOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler int int org.graalvm.compiler.hotspot.meta.HotSpotForeignCallsProvider org.graalvm.compiler.asm.Label java.lang.Throwable java.lang.Throwable org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$ScratchRegister
StackMap stack: java.lang.Throwable
11: astore 7
aload 9
ifnull 12
aload 9
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$ScratchRegister.close:()V
end local 9 StackMap locals:
StackMap stack:
12: aload 7
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
13: astore 8
aload 7
ifnonnull 14
aload 8
astore 7
goto 15
StackMap locals:
StackMap stack:
14: aload 7
aload 8
if_acmpeq 15
aload 7
aload 8
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
15: aload 7
athrow
16: StackMap locals:
StackMap stack:
aload 2
getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$ConditionFlag.LO:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ConditionFlag;
aload 6
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.branchConditionally:(Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
17: aload 5
getstatic org.graalvm.compiler.hotspot.HotSpotHostBackend.ENABLE_STACK_RESERVED_ZONE:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
invokeinterface org.graalvm.compiler.hotspot.meta.HotSpotForeignCallsProvider.lookupForeignCall:(Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;)Lorg/graalvm/compiler/core/common/spi/ForeignCallLinkage;
astore 7
start local 7 18: aload 7
invokeinterface org.graalvm.compiler.core.common.spi.ForeignCallLinkage.getOutgoingCallingConvention:()Ljdk/vm/ci/code/CallingConvention;
astore 8
start local 8 19: getstatic org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotEpilogueOp.$assertionsDisabled:Z
ifne 20
aload 8
invokevirtual jdk.vm.ci.code.CallingConvention.getArgumentCount:()I
iconst_1
if_icmpeq 20
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
20: StackMap locals: org.graalvm.compiler.core.common.spi.ForeignCallLinkage jdk.vm.ci.code.CallingConvention
StackMap stack:
aload 8
iconst_0
invokevirtual jdk.vm.ci.code.CallingConvention.getArgument:(I)Ljdk/vm/ci/meta/AllocatableValue;
checkcast jdk.vm.ci.code.RegisterValue
invokevirtual jdk.vm.ci.code.RegisterValue.getRegister:()Ljdk/vm/ci/code/Register;
astore 9
start local 9 21: aload 2
bipush 64
aload 9
aload 0
getfield org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotEpilogueOp.thread:Ljdk/vm/ci/code/Register;
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.mov:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
22: aconst_null
astore 10
aconst_null
astore 11
23: aload 2
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.getScratchRegister:()Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$ScratchRegister;
astore 12
start local 12 24: aload 2
bipush 64
getstatic jdk.vm.ci.hotspot.aarch64.AArch64HotSpotRegisterConfig.fp:Ljdk/vm/ci/code/Register;
getstatic jdk.vm.ci.aarch64.AArch64.lr:Ljdk/vm/ci/code/Register;
getstatic jdk.vm.ci.aarch64.AArch64.sp:Ljdk/vm/ci/code/Register;
bipush -2
invokestatic org.graalvm.compiler.asm.aarch64.AArch64Address.createPreIndexedImmediateAddress:(Ljdk/vm/ci/code/Register;I)Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.stp:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Address;)V
25: aload 1
aload 2
aload 7
aload 12
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$ScratchRegister.getRegister:()Ljdk/vm/ci/code/Register;
aconst_null
invokestatic org.graalvm.compiler.lir.aarch64.AArch64Call.directCall:(Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;Ljdk/vm/ci/meta/InvokeTarget;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/lir/LIRFrameState;)V
26: aload 2
bipush 64
getstatic jdk.vm.ci.hotspot.aarch64.AArch64HotSpotRegisterConfig.fp:Ljdk/vm/ci/code/Register;
getstatic jdk.vm.ci.aarch64.AArch64.lr:Ljdk/vm/ci/code/Register;
getstatic jdk.vm.ci.aarch64.AArch64.sp:Ljdk/vm/ci/code/Register;
iconst_2
invokestatic org.graalvm.compiler.asm.aarch64.AArch64Address.createPostIndexedImmediateAddress:(Ljdk/vm/ci/code/Register;I)Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.ldp:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Address;)V
27: aload 12
ifnull 33
aload 12
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$ScratchRegister.close:()V
goto 33
StackMap locals: org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotEpilogueOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler int int org.graalvm.compiler.hotspot.meta.HotSpotForeignCallsProvider org.graalvm.compiler.asm.Label org.graalvm.compiler.core.common.spi.ForeignCallLinkage jdk.vm.ci.code.CallingConvention jdk.vm.ci.code.Register java.lang.Throwable java.lang.Throwable org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$ScratchRegister
StackMap stack: java.lang.Throwable
28: astore 10
aload 12
ifnull 29
aload 12
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$ScratchRegister.close:()V
end local 12 StackMap locals:
StackMap stack:
29: aload 10
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
30: astore 11
aload 10
ifnonnull 31
aload 11
astore 10
goto 32
StackMap locals:
StackMap stack:
31: aload 10
aload 11
if_acmpeq 32
aload 10
aload 11
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
32: aload 10
athrow
33: StackMap locals:
StackMap stack:
aload 1
aload 2
aload 5
getstatic org.graalvm.compiler.hotspot.HotSpotHostBackend.THROW_DELAYED_STACKOVERFLOW_ERROR:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
invokeinterface org.graalvm.compiler.hotspot.meta.HotSpotForeignCallsProvider.lookupForeignCall:(Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;)Lorg/graalvm/compiler/core/common/spi/ForeignCallLinkage;
invokestatic org.graalvm.compiler.lir.aarch64.AArch64Call.directJmp:(Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;Ljdk/vm/ci/meta/InvokeTarget;)V
34: aload 2
aload 6
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
end local 9 end local 8 end local 7 end local 6 end local 5 35: StackMap locals: org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotEpilogueOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler int int
StackMap stack:
iload 3
ifeq 46
36: aconst_null
astore 5
aconst_null
astore 6
37: aload 2
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.getScratchRegister:()Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$ScratchRegister;
astore 7
start local 7 38: aload 7
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$ScratchRegister.getRegister:()Ljdk/vm/ci/code/Register;
astore 8
start local 8 39: aload 1
aload 2
aload 0
getfield org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotEpilogueOp.config:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
iconst_1
aload 0
getfield org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotEpilogueOp.thread:Ljdk/vm/ci/code/Register;
aload 8
aconst_null
invokestatic org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotSafepointOp.emitCode:(Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;ZLjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/lir/LIRFrameState;)V
end local 8 40: aload 7
ifnull 46
aload 7
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$ScratchRegister.close:()V
goto 46
StackMap locals: org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotEpilogueOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler int int java.lang.Throwable java.lang.Throwable org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$ScratchRegister
StackMap stack: java.lang.Throwable
41: astore 5
aload 7
ifnull 42
aload 7
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$ScratchRegister.close:()V
end local 7 StackMap locals:
StackMap stack:
42: aload 5
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
43: astore 6
aload 5
ifnonnull 44
aload 6
astore 5
goto 45
StackMap locals:
StackMap stack:
44: aload 5
aload 6
if_acmpeq 45
aload 5
aload 6
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
45: aload 5
athrow
46: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 47 0 this Lorg/graalvm/compiler/hotspot/aarch64/AArch64HotSpotEpilogueOp;
0 47 1 crb Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;
0 47 2 masm Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
0 47 3 emitSafepoint Z
0 47 4 requiresReservedStackAccessCheck Z
4 35 5 foreignCalls Lorg/graalvm/compiler/hotspot/meta/HotSpotForeignCallsProvider;
5 35 6 noReserved Lorg/graalvm/compiler/asm/Label;
7 12 9 sc Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$ScratchRegister;
8 10 10 scratch Ljdk/vm/ci/code/Register;
18 35 7 enableStackReservedZone Lorg/graalvm/compiler/core/common/spi/ForeignCallLinkage;
19 35 8 cc Ljdk/vm/ci/code/CallingConvention;
21 35 9 arg0 Ljdk/vm/ci/code/Register;
24 29 12 sc Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$ScratchRegister;
38 42 7 sc Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$ScratchRegister;
39 40 8 scratch Ljdk/vm/ci/code/Register;
Exception table:
from to target type
7 10 11 any
6 13 13 any
24 27 28 any
23 30 30 any
38 40 41 any
37 43 43 any
MethodParameters:
Name Flags
crb
masm
emitSafepoint
requiresReservedStackAccessCheck
}
SourceFile: "AArch64HotSpotEpilogueOp.java"
InnerClasses:
public final ConditionFlag = org.graalvm.compiler.asm.aarch64.AArch64Assembler$ConditionFlag of org.graalvm.compiler.asm.aarch64.AArch64Assembler
public ScratchRegister = org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$ScratchRegister of org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler