public class org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotDeoptimizeWithExceptionCallerOp extends org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotEpilogueOp
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotDeoptimizeWithExceptionCallerOp
  super_class: org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotEpilogueOp
{
  public static final org.graalvm.compiler.lir.LIRInstructionClass<org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotDeoptimizeWithExceptionCallerOp> 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/aarch64/AArch64HotSpotDeoptimizeWithExceptionCallerOp;>;

  private jdk.vm.ci.meta.Value exception;
    descriptor: Ljdk/vm/ci/meta/Value;
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.lir.LIRInstruction$Use(value = {org.graalvm.compiler.lir.LIRInstruction$OperandFlag.REG:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;})

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 46
            ldc Lorg/graalvm/compiler/hotspot/aarch64/AArch64HotSpotDeoptimizeWithExceptionCallerOp;
            invokestatic org.graalvm.compiler.lir.LIRInstructionClass.create:(Ljava/lang/Class;)Lorg/graalvm/compiler/lir/LIRInstructionClass;
            putstatic org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotDeoptimizeWithExceptionCallerOp.TYPE:Lorg/graalvm/compiler/lir/LIRInstructionClass;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.graalvm.compiler.hotspot.GraalHotSpotVMConfig, jdk.vm.ci.meta.Value, jdk.vm.ci.code.Register);
    descriptor: (Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/code/Register;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotDeoptimizeWithExceptionCallerOp this
        start local 1 // org.graalvm.compiler.hotspot.GraalHotSpotVMConfig config
        start local 2 // jdk.vm.ci.meta.Value exception
        start local 3 // jdk.vm.ci.code.Register thread
         0: .line 51
            aload 0 /* this */
            getstatic org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotDeoptimizeWithExceptionCallerOp.TYPE:Lorg/graalvm/compiler/lir/LIRInstructionClass;
            aload 1 /* config */
            aload 3 /* thread */
            invokespecial org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotEpilogueOp.<init>:(Lorg/graalvm/compiler/lir/LIRInstructionClass;Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;Ljdk/vm/ci/code/Register;)V
         1: .line 52
            aload 0 /* this */
            aload 2 /* exception */
            putfield org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotDeoptimizeWithExceptionCallerOp.exception:Ljdk/vm/ci/meta/Value;
         2: .line 53
            return
        end local 3 // jdk.vm.ci.code.Register thread
        end local 2 // jdk.vm.ci.meta.Value exception
        end local 1 // org.graalvm.compiler.hotspot.GraalHotSpotVMConfig config
        end local 0 // org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotDeoptimizeWithExceptionCallerOp this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/graalvm/compiler/hotspot/aarch64/AArch64HotSpotDeoptimizeWithExceptionCallerOp;
            0    3     1     config  Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            0    3     2  exception  Ljdk/vm/ci/meta/Value;
            0    3     3     thread  Ljdk/vm/ci/code/Register;
    MethodParameters:
           Name  Flags
      config     
      exception  
      thread     

  public void emitCode(org.graalvm.compiler.lir.asm.CompilationResultBuilder, org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler);
    descriptor: (Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=4, args_size=3
        start local 0 // org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotDeoptimizeWithExceptionCallerOp this
        start local 1 // org.graalvm.compiler.lir.asm.CompilationResultBuilder crb
        start local 2 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler masm
         0: .line 57
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotDeoptimizeWithExceptionCallerOp.exception:Ljdk/vm/ci/meta/Value;
            invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
            astore 3 /* exc */
        start local 3 // jdk.vm.ci.code.Register exc
         1: .line 59
            aload 0 /* this */
            aload 1 /* crb */
            aload 2 /* masm */
            iconst_0
            iconst_0
            invokevirtual org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotDeoptimizeWithExceptionCallerOp.leaveFrame:(Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;ZZ)V
         2: .line 62
            aload 2 /* masm */
            bipush 64
            aload 3 /* exc */
            aload 2 /* masm */
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotDeoptimizeWithExceptionCallerOp.thread:Ljdk/vm/ci/code/Register;
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotDeoptimizeWithExceptionCallerOp.config:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.threadExceptionOopOffset: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.str:(ILjdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Address;)V
         3: .line 64
            aload 2 /* masm */
            bipush 64
            getstatic jdk.vm.ci.aarch64.AArch64.lr:Ljdk/vm/ci/code/Register;
            aload 2 /* masm */
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotDeoptimizeWithExceptionCallerOp.thread:Ljdk/vm/ci/code/Register;
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotDeoptimizeWithExceptionCallerOp.config:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.threadExceptionPcOffset: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.str:(ILjdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Address;)V
         4: .line 66
            aload 1 /* crb */
            aload 2 /* masm */
            aload 1 /* crb */
            getfield org.graalvm.compiler.lir.asm.CompilationResultBuilder.foreignCalls:Lorg/graalvm/compiler/core/common/spi/ForeignCallsProvider;
            getstatic org.graalvm.compiler.hotspot.HotSpotHostBackend.DEOPT_BLOB_UNPACK_WITH_EXCEPTION_IN_TLS:Lorg/graalvm/compiler/hotspot/meta/HotSpotForeignCallDescriptor;
            invokeinterface org.graalvm.compiler.core.common.spi.ForeignCallsProvider.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
         5: .line 67
            return
        end local 3 // jdk.vm.ci.code.Register exc
        end local 2 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler masm
        end local 1 // org.graalvm.compiler.lir.asm.CompilationResultBuilder crb
        end local 0 // org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotDeoptimizeWithExceptionCallerOp this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/graalvm/compiler/hotspot/aarch64/AArch64HotSpotDeoptimizeWithExceptionCallerOp;
            0    6     1   crb  Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;
            0    6     2  masm  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            1    6     3   exc  Ljdk/vm/ci/code/Register;
    MethodParameters:
      Name  Flags
      crb   
      masm  
}
SourceFile: "AArch64HotSpotDeoptimizeWithExceptionCallerOp.java"
InnerClasses:
  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
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.lir.Opcode(value = "DEOPT_WITH_EXCEPTION_IN_CALLER")