final class org.graalvm.compiler.hotspot.sparc.SPARCHotSpotJumpToExceptionHandlerInCallerOp extends org.graalvm.compiler.hotspot.sparc.SPARCHotSpotEpilogueOp
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: org.graalvm.compiler.hotspot.sparc.SPARCHotSpotJumpToExceptionHandlerInCallerOp
super_class: org.graalvm.compiler.hotspot.sparc.SPARCHotSpotEpilogueOp
{
public static final org.graalvm.compiler.lir.LIRInstructionClass<org.graalvm.compiler.hotspot.sparc.SPARCHotSpotJumpToExceptionHandlerInCallerOp> TYPE;
descriptor: Lorg/graalvm/compiler/lir/LIRInstructionClass;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Signature: Lorg/graalvm/compiler/lir/LIRInstructionClass<Lorg/graalvm/compiler/hotspot/sparc/SPARCHotSpotJumpToExceptionHandlerInCallerOp;>;
public static final org.graalvm.compiler.lir.sparc.SPARCLIRInstructionMixin$SizeEstimate SIZE;
descriptor: Lorg/graalvm/compiler/lir/sparc/SPARCLIRInstructionMixin$SizeEstimate;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
jdk.vm.ci.meta.AllocatableValue handlerInCallerPc;
descriptor: Ljdk/vm/ci/meta/AllocatableValue;
flags: (0x0000)
RuntimeVisibleAnnotations:
org.graalvm.compiler.lir.LIRInstruction$Use(value = {org.graalvm.compiler.lir.LIRInstruction$OperandFlag.REG:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;})
jdk.vm.ci.meta.AllocatableValue exception;
descriptor: Ljdk/vm/ci/meta/AllocatableValue;
flags: (0x0000)
RuntimeVisibleAnnotations:
org.graalvm.compiler.lir.LIRInstruction$Use(value = {org.graalvm.compiler.lir.LIRInstruction$OperandFlag.REG:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;})
jdk.vm.ci.meta.AllocatableValue exceptionPc;
descriptor: Ljdk/vm/ci/meta/AllocatableValue;
flags: (0x0000)
RuntimeVisibleAnnotations:
org.graalvm.compiler.lir.LIRInstruction$Use(value = {org.graalvm.compiler.lir.LIRInstruction$OperandFlag.REG:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;})
private final jdk.vm.ci.code.Register thread;
descriptor: Ljdk/vm/ci/code/Register;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int isMethodHandleReturnOffset;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/graalvm/compiler/hotspot/sparc/SPARCHotSpotJumpToExceptionHandlerInCallerOp;
invokestatic org.graalvm.compiler.lir.LIRInstructionClass.create:(Ljava/lang/Class;)Lorg/graalvm/compiler/lir/LIRInstructionClass;
putstatic org.graalvm.compiler.hotspot.sparc.SPARCHotSpotJumpToExceptionHandlerInCallerOp.TYPE:Lorg/graalvm/compiler/lir/LIRInstructionClass;
1: iconst_5
invokestatic org.graalvm.compiler.lir.sparc.SPARCLIRInstructionMixin$SizeEstimate.create:(I)Lorg/graalvm/compiler/lir/sparc/SPARCLIRInstructionMixin$SizeEstimate;
putstatic org.graalvm.compiler.hotspot.sparc.SPARCHotSpotJumpToExceptionHandlerInCallerOp.SIZE:Lorg/graalvm/compiler/lir/sparc/SPARCLIRInstructionMixin$SizeEstimate;
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(jdk.vm.ci.meta.AllocatableValue, jdk.vm.ci.meta.AllocatableValue, jdk.vm.ci.meta.AllocatableValue, int, jdk.vm.ci.code.Register);
descriptor: (Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;ILjdk/vm/ci/code/Register;)V
flags: (0x0000)
Code:
stack=3, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
getstatic org.graalvm.compiler.hotspot.sparc.SPARCHotSpotJumpToExceptionHandlerInCallerOp.TYPE:Lorg/graalvm/compiler/lir/LIRInstructionClass;
getstatic org.graalvm.compiler.hotspot.sparc.SPARCHotSpotJumpToExceptionHandlerInCallerOp.SIZE:Lorg/graalvm/compiler/lir/sparc/SPARCLIRInstructionMixin$SizeEstimate;
invokespecial org.graalvm.compiler.hotspot.sparc.SPARCHotSpotEpilogueOp.<init>:(Lorg/graalvm/compiler/lir/LIRInstructionClass;Lorg/graalvm/compiler/lir/sparc/SPARCLIRInstructionMixin$SizeEstimate;)V
1: aload 0
aload 1
putfield org.graalvm.compiler.hotspot.sparc.SPARCHotSpotJumpToExceptionHandlerInCallerOp.handlerInCallerPc:Ljdk/vm/ci/meta/AllocatableValue;
2: aload 0
aload 2
putfield org.graalvm.compiler.hotspot.sparc.SPARCHotSpotJumpToExceptionHandlerInCallerOp.exception:Ljdk/vm/ci/meta/AllocatableValue;
3: aload 0
aload 3
putfield org.graalvm.compiler.hotspot.sparc.SPARCHotSpotJumpToExceptionHandlerInCallerOp.exceptionPc:Ljdk/vm/ci/meta/AllocatableValue;
4: aload 0
iload 4
putfield org.graalvm.compiler.hotspot.sparc.SPARCHotSpotJumpToExceptionHandlerInCallerOp.isMethodHandleReturnOffset:I
5: aload 0
aload 5
putfield org.graalvm.compiler.hotspot.sparc.SPARCHotSpotJumpToExceptionHandlerInCallerOp.thread:Ljdk/vm/ci/code/Register;
6: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/graalvm/compiler/hotspot/sparc/SPARCHotSpotJumpToExceptionHandlerInCallerOp;
0 7 1 handlerInCallerPc Ljdk/vm/ci/meta/AllocatableValue;
0 7 2 exception Ljdk/vm/ci/meta/AllocatableValue;
0 7 3 exceptionPc Ljdk/vm/ci/meta/AllocatableValue;
0 7 4 isMethodHandleReturnOffset I
0 7 5 thread Ljdk/vm/ci/code/Register;
MethodParameters:
Name Flags
handlerInCallerPc
exception
exceptionPc
isMethodHandleReturnOffset
thread
public void emitCode(org.graalvm.compiler.lir.asm.CompilationResultBuilder, org.graalvm.compiler.asm.sparc.SPARCMacroAssembler);
descriptor: (Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/sparc/SPARCMacroAssembler;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=8, args_size=3
start local 0 start local 1 start local 2 0: new org.graalvm.compiler.asm.sparc.SPARCAddress
dup
aload 0
getfield org.graalvm.compiler.hotspot.sparc.SPARCHotSpotJumpToExceptionHandlerInCallerOp.thread:Ljdk/vm/ci/code/Register;
aload 0
getfield org.graalvm.compiler.hotspot.sparc.SPARCHotSpotJumpToExceptionHandlerInCallerOp.isMethodHandleReturnOffset:I
invokespecial org.graalvm.compiler.asm.sparc.SPARCAddress.<init>:(Ljdk/vm/ci/code/Register;I)V
astore 3
start local 3 1: aconst_null
astore 4
aconst_null
astore 5
2: aload 2
invokevirtual org.graalvm.compiler.asm.sparc.SPARCMacroAssembler.getScratchRegister:()Lorg/graalvm/compiler/asm/sparc/SPARCMacroAssembler$ScratchRegister;
astore 6
start local 6 3: aload 6
invokevirtual org.graalvm.compiler.asm.sparc.SPARCMacroAssembler$ScratchRegister.getRegister:()Ljdk/vm/ci/code/Register;
astore 7
start local 7 4: aload 2
aload 3
aload 7
invokevirtual org.graalvm.compiler.asm.sparc.SPARCMacroAssembler.lduw:(Lorg/graalvm/compiler/asm/sparc/SPARCAddress;Ljdk/vm/ci/code/Register;)V
5: aload 2
aload 7
aload 7
invokevirtual org.graalvm.compiler.asm.sparc.SPARCMacroAssembler.cmp:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
6: aload 2
getstatic org.graalvm.compiler.asm.sparc.SPARCAssembler$ConditionFlag.NotZero:Lorg/graalvm/compiler/asm/sparc/SPARCAssembler$ConditionFlag;
getstatic org.graalvm.compiler.asm.sparc.SPARCAssembler$CC.Icc:Lorg/graalvm/compiler/asm/sparc/SPARCAssembler$CC;
getstatic jdk.vm.ci.sparc.SPARC.l7:Ljdk/vm/ci/code/Register;
getstatic jdk.vm.ci.sparc.SPARC.sp:Ljdk/vm/ci/code/Register;
invokevirtual org.graalvm.compiler.asm.sparc.SPARCMacroAssembler.movcc:(Lorg/graalvm/compiler/asm/sparc/SPARCAssembler$ConditionFlag;Lorg/graalvm/compiler/asm/sparc/SPARCAssembler$CC;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
end local 7 7: aload 6
ifnull 13
aload 6
invokevirtual org.graalvm.compiler.asm.sparc.SPARCMacroAssembler$ScratchRegister.close:()V
goto 13
StackMap locals: org.graalvm.compiler.hotspot.sparc.SPARCHotSpotJumpToExceptionHandlerInCallerOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.sparc.SPARCMacroAssembler org.graalvm.compiler.asm.sparc.SPARCAddress java.lang.Throwable java.lang.Throwable org.graalvm.compiler.asm.sparc.SPARCMacroAssembler$ScratchRegister
StackMap stack: java.lang.Throwable
8: astore 4
aload 6
ifnull 9
aload 6
invokevirtual org.graalvm.compiler.asm.sparc.SPARCMacroAssembler$ScratchRegister.close:()V
end local 6 StackMap locals:
StackMap stack:
9: aload 4
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
10: astore 5
aload 4
ifnonnull 11
aload 5
astore 4
goto 12
StackMap locals:
StackMap stack:
11: aload 4
aload 5
if_acmpeq 12
aload 4
aload 5
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
12: aload 4
athrow
13: StackMap locals:
StackMap stack:
aload 2
aload 0
getfield org.graalvm.compiler.hotspot.sparc.SPARCHotSpotJumpToExceptionHandlerInCallerOp.handlerInCallerPc:Ljdk/vm/ci/meta/AllocatableValue;
invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
iconst_0
getstatic jdk.vm.ci.sparc.SPARC.g0:Ljdk/vm/ci/code/Register;
invokevirtual org.graalvm.compiler.asm.sparc.SPARCMacroAssembler.jmpl:(Ljdk/vm/ci/code/Register;ILjdk/vm/ci/code/Register;)I
pop
14: aload 0
aload 1
invokevirtual org.graalvm.compiler.hotspot.sparc.SPARCHotSpotJumpToExceptionHandlerInCallerOp.leaveFrame:(Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;)V
15: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lorg/graalvm/compiler/hotspot/sparc/SPARCHotSpotJumpToExceptionHandlerInCallerOp;
0 16 1 crb Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;
0 16 2 masm Lorg/graalvm/compiler/asm/sparc/SPARCMacroAssembler;
1 16 3 dst Lorg/graalvm/compiler/asm/sparc/SPARCAddress;
3 9 6 scratch Lorg/graalvm/compiler/asm/sparc/SPARCMacroAssembler$ScratchRegister;
4 7 7 scratchReg Ljdk/vm/ci/code/Register;
Exception table:
from to target type
3 7 8 any
2 10 10 any
MethodParameters:
Name Flags
crb
masm
}
SourceFile: "SPARCHotSpotJumpToExceptionHandlerInCallerOp.java"
InnerClasses:
public final CC = org.graalvm.compiler.asm.sparc.SPARCAssembler$CC of org.graalvm.compiler.asm.sparc.SPARCAssembler
public final ConditionFlag = org.graalvm.compiler.asm.sparc.SPARCAssembler$ConditionFlag of org.graalvm.compiler.asm.sparc.SPARCAssembler
public ScratchRegister = org.graalvm.compiler.asm.sparc.SPARCMacroAssembler$ScratchRegister of org.graalvm.compiler.asm.sparc.SPARCMacroAssembler
public final OperandFlag = org.graalvm.compiler.lir.LIRInstruction$OperandFlag of org.graalvm.compiler.lir.LIRInstruction
public abstract Use = org.graalvm.compiler.lir.LIRInstruction$Use of org.graalvm.compiler.lir.LIRInstruction
public SizeEstimate = org.graalvm.compiler.lir.sparc.SPARCLIRInstructionMixin$SizeEstimate of org.graalvm.compiler.lir.sparc.SPARCLIRInstructionMixin
RuntimeVisibleAnnotations:
org.graalvm.compiler.lir.Opcode(value = "JUMP_TO_EXCEPTION_HANDLER_IN_CALLER")