public final class sun.jvm.hotspot.debugger.linux.amd64.LinuxAMD64CFrame extends sun.jvm.hotspot.debugger.cdbg.basic.BasicCFrame
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: sun.jvm.hotspot.debugger.linux.amd64.LinuxAMD64CFrame
  super_class: sun.jvm.hotspot.debugger.cdbg.basic.BasicCFrame
{
  private static final int ADDRESS_SIZE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  private sun.jvm.hotspot.debugger.Address rip;
    descriptor: Lsun/jvm/hotspot/debugger/Address;
    flags: (0x0002) ACC_PRIVATE

  private sun.jvm.hotspot.debugger.Address cfa;
    descriptor: Lsun/jvm/hotspot/debugger/Address;
    flags: (0x0002) ACC_PRIVATE

  private sun.jvm.hotspot.debugger.linux.LinuxDebugger dbg;
    descriptor: Lsun/jvm/hotspot/debugger/linux/LinuxDebugger;
    flags: (0x0002) ACC_PRIVATE

  private sun.jvm.hotspot.debugger.linux.amd64.DwarfParser dwarf;
    descriptor: Lsun/jvm/hotspot/debugger/linux/amd64/DwarfParser;
    flags: (0x0002) ACC_PRIVATE

  private boolean finalFrame;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  public static sun.jvm.hotspot.debugger.linux.amd64.LinuxAMD64CFrame getTopFrame(sun.jvm.hotspot.debugger.linux.LinuxDebugger, sun.jvm.hotspot.debugger.Address, sun.jvm.hotspot.debugger.ThreadContext);
    descriptor: (Lsun/jvm/hotspot/debugger/linux/LinuxDebugger;Lsun/jvm/hotspot/debugger/Address;Lsun/jvm/hotspot/debugger/ThreadContext;)Lsun/jvm/hotspot/debugger/linux/amd64/LinuxAMD64CFrame;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=6, args_size=3
        start local 0 // sun.jvm.hotspot.debugger.linux.LinuxDebugger dbg
        start local 1 // sun.jvm.hotspot.debugger.Address rip
        start local 2 // sun.jvm.hotspot.debugger.ThreadContext context
         0: .line 36
            aload 0 /* dbg */
            aload 1 /* rip */
            invokeinterface sun.jvm.hotspot.debugger.linux.LinuxDebugger.findLibPtrByAddress:(Lsun/jvm/hotspot/debugger/Address;)Lsun/jvm/hotspot/debugger/Address;
            astore 3 /* libptr */
        start local 3 // sun.jvm.hotspot.debugger.Address libptr
         1: .line 37
            aload 2 /* context */
            bipush 10
            invokeinterface sun.jvm.hotspot.debugger.ThreadContext.getRegisterAsAddress:(I)Lsun/jvm/hotspot/debugger/Address;
            astore 4 /* cfa */
        start local 4 // sun.jvm.hotspot.debugger.Address cfa
         2: .line 38
            aconst_null
            astore 5 /* dwarf */
        start local 5 // sun.jvm.hotspot.debugger.linux.amd64.DwarfParser dwarf
         3: .line 40
            aload 3 /* libptr */
            ifnull 15
         4: .line 41
            new sun.jvm.hotspot.debugger.linux.amd64.DwarfParser
            dup
            aload 3 /* libptr */
            invokespecial sun.jvm.hotspot.debugger.linux.amd64.DwarfParser.<init>:(Lsun/jvm/hotspot/debugger/Address;)V
            astore 5 /* dwarf */
         5: .line 43
            aload 5 /* dwarf */
            aload 1 /* rip */
            invokevirtual sun.jvm.hotspot.debugger.linux.amd64.DwarfParser.processDwarf:(Lsun/jvm/hotspot/debugger/Address;)V
         6: .line 44
            goto 9
      StackMap locals: sun.jvm.hotspot.debugger.linux.LinuxDebugger sun.jvm.hotspot.debugger.Address sun.jvm.hotspot.debugger.ThreadContext sun.jvm.hotspot.debugger.Address sun.jvm.hotspot.debugger.Address sun.jvm.hotspot.debugger.linux.amd64.DwarfParser
      StackMap stack: sun.jvm.hotspot.debugger.DebuggerException
         7: pop
         8: .line 48
            new sun.jvm.hotspot.debugger.linux.amd64.LinuxAMD64CFrame
            dup
            aload 0 /* dbg */
            aload 4 /* cfa */
            aload 1 /* rip */
            aload 5 /* dwarf */
            iconst_1
            invokespecial sun.jvm.hotspot.debugger.linux.amd64.LinuxAMD64CFrame.<init>:(Lsun/jvm/hotspot/debugger/linux/LinuxDebugger;Lsun/jvm/hotspot/debugger/Address;Lsun/jvm/hotspot/debugger/Address;Lsun/jvm/hotspot/debugger/linux/amd64/DwarfParser;Z)V
            areturn
         9: .line 50
      StackMap locals:
      StackMap stack:
            aload 5 /* dwarf */
            invokevirtual sun.jvm.hotspot.debugger.linux.amd64.DwarfParser.getCFARegister:()I
            bipush 10
            if_icmpne 12
        10: .line 51
            aload 5 /* dwarf */
            invokevirtual sun.jvm.hotspot.debugger.linux.amd64.DwarfParser.isBPOffsetAvailable:()Z
            ifne 12
        11: .line 52
            aload 2 /* context */
            bipush 10
            invokeinterface sun.jvm.hotspot.debugger.ThreadContext.getRegisterAsAddress:(I)Lsun/jvm/hotspot/debugger/Address;
            goto 14
        12: .line 53
      StackMap locals:
      StackMap stack:
            aload 2 /* context */
            aload 5 /* dwarf */
            invokevirtual sun.jvm.hotspot.debugger.linux.amd64.DwarfParser.getCFARegister:()I
            invokeinterface sun.jvm.hotspot.debugger.ThreadContext.getRegisterAsAddress:(I)Lsun/jvm/hotspot/debugger/Address;
        13: .line 54
            aload 5 /* dwarf */
            invokevirtual sun.jvm.hotspot.debugger.linux.amd64.DwarfParser.getCFAOffset:()I
            i2l
            invokeinterface sun.jvm.hotspot.debugger.Address.addOffsetTo:(J)Lsun/jvm/hotspot/debugger/Address;
        14: .line 50
      StackMap locals:
      StackMap stack: sun.jvm.hotspot.debugger.Address
            astore 4 /* cfa */
        15: .line 57
      StackMap locals:
      StackMap stack:
            aload 4 /* cfa */
            ifnonnull 16
            aconst_null
            goto 17
        16: .line 58
      StackMap locals:
      StackMap stack:
            new sun.jvm.hotspot.debugger.linux.amd64.LinuxAMD64CFrame
            dup
            aload 0 /* dbg */
            aload 4 /* cfa */
            aload 1 /* rip */
            aload 5 /* dwarf */
            invokespecial sun.jvm.hotspot.debugger.linux.amd64.LinuxAMD64CFrame.<init>:(Lsun/jvm/hotspot/debugger/linux/LinuxDebugger;Lsun/jvm/hotspot/debugger/Address;Lsun/jvm/hotspot/debugger/Address;Lsun/jvm/hotspot/debugger/linux/amd64/DwarfParser;)V
        17: .line 57
      StackMap locals:
      StackMap stack: sun.jvm.hotspot.debugger.linux.amd64.LinuxAMD64CFrame
            areturn
        end local 5 // sun.jvm.hotspot.debugger.linux.amd64.DwarfParser dwarf
        end local 4 // sun.jvm.hotspot.debugger.Address cfa
        end local 3 // sun.jvm.hotspot.debugger.Address libptr
        end local 2 // sun.jvm.hotspot.debugger.ThreadContext context
        end local 1 // sun.jvm.hotspot.debugger.Address rip
        end local 0 // sun.jvm.hotspot.debugger.linux.LinuxDebugger dbg
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   18     0      dbg  Lsun/jvm/hotspot/debugger/linux/LinuxDebugger;
            0   18     1      rip  Lsun/jvm/hotspot/debugger/Address;
            0   18     2  context  Lsun/jvm/hotspot/debugger/ThreadContext;
            1   18     3   libptr  Lsun/jvm/hotspot/debugger/Address;
            2   18     4      cfa  Lsun/jvm/hotspot/debugger/Address;
            3   18     5    dwarf  Lsun/jvm/hotspot/debugger/linux/amd64/DwarfParser;
      Exception table:
        from    to  target  type
           5     6       7  Class sun.jvm.hotspot.debugger.DebuggerException
    MethodParameters:
         Name  Flags
      dbg      
      rip      
      context  

  private void <init>(sun.jvm.hotspot.debugger.linux.LinuxDebugger, sun.jvm.hotspot.debugger.Address, sun.jvm.hotspot.debugger.Address, sun.jvm.hotspot.debugger.linux.amd64.DwarfParser);
    descriptor: (Lsun/jvm/hotspot/debugger/linux/LinuxDebugger;Lsun/jvm/hotspot/debugger/Address;Lsun/jvm/hotspot/debugger/Address;Lsun/jvm/hotspot/debugger/linux/amd64/DwarfParser;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // sun.jvm.hotspot.debugger.linux.amd64.LinuxAMD64CFrame this
        start local 1 // sun.jvm.hotspot.debugger.linux.LinuxDebugger dbg
        start local 2 // sun.jvm.hotspot.debugger.Address cfa
        start local 3 // sun.jvm.hotspot.debugger.Address rip
        start local 4 // sun.jvm.hotspot.debugger.linux.amd64.DwarfParser dwarf
         0: .line 62
            aload 0 /* this */
            aload 1 /* dbg */
            aload 2 /* cfa */
            aload 3 /* rip */
            aload 4 /* dwarf */
            iconst_0
            invokespecial sun.jvm.hotspot.debugger.linux.amd64.LinuxAMD64CFrame.<init>:(Lsun/jvm/hotspot/debugger/linux/LinuxDebugger;Lsun/jvm/hotspot/debugger/Address;Lsun/jvm/hotspot/debugger/Address;Lsun/jvm/hotspot/debugger/linux/amd64/DwarfParser;Z)V
         1: .line 63
            return
        end local 4 // sun.jvm.hotspot.debugger.linux.amd64.DwarfParser dwarf
        end local 3 // sun.jvm.hotspot.debugger.Address rip
        end local 2 // sun.jvm.hotspot.debugger.Address cfa
        end local 1 // sun.jvm.hotspot.debugger.linux.LinuxDebugger dbg
        end local 0 // sun.jvm.hotspot.debugger.linux.amd64.LinuxAMD64CFrame this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lsun/jvm/hotspot/debugger/linux/amd64/LinuxAMD64CFrame;
            0    2     1    dbg  Lsun/jvm/hotspot/debugger/linux/LinuxDebugger;
            0    2     2    cfa  Lsun/jvm/hotspot/debugger/Address;
            0    2     3    rip  Lsun/jvm/hotspot/debugger/Address;
            0    2     4  dwarf  Lsun/jvm/hotspot/debugger/linux/amd64/DwarfParser;
    MethodParameters:
       Name  Flags
      dbg    
      cfa    
      rip    
      dwarf  

  private void <init>(sun.jvm.hotspot.debugger.linux.LinuxDebugger, sun.jvm.hotspot.debugger.Address, sun.jvm.hotspot.debugger.Address, sun.jvm.hotspot.debugger.linux.amd64.DwarfParser, boolean);
    descriptor: (Lsun/jvm/hotspot/debugger/linux/LinuxDebugger;Lsun/jvm/hotspot/debugger/Address;Lsun/jvm/hotspot/debugger/Address;Lsun/jvm/hotspot/debugger/linux/amd64/DwarfParser;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=6, args_size=6
        start local 0 // sun.jvm.hotspot.debugger.linux.amd64.LinuxAMD64CFrame this
        start local 1 // sun.jvm.hotspot.debugger.linux.LinuxDebugger dbg
        start local 2 // sun.jvm.hotspot.debugger.Address cfa
        start local 3 // sun.jvm.hotspot.debugger.Address rip
        start local 4 // sun.jvm.hotspot.debugger.linux.amd64.DwarfParser dwarf
        start local 5 // boolean finalFrame
         0: .line 66
            aload 0 /* this */
            aload 1 /* dbg */
            invokeinterface sun.jvm.hotspot.debugger.linux.LinuxDebugger.getCDebugger:()Lsun/jvm/hotspot/debugger/cdbg/CDebugger;
            invokespecial sun.jvm.hotspot.debugger.cdbg.basic.BasicCFrame.<init>:(Lsun/jvm/hotspot/debugger/cdbg/CDebugger;)V
         1: .line 67
            aload 0 /* this */
            aload 2 /* cfa */
            putfield sun.jvm.hotspot.debugger.linux.amd64.LinuxAMD64CFrame.cfa:Lsun/jvm/hotspot/debugger/Address;
         2: .line 68
            aload 0 /* this */
            aload 3 /* rip */
            putfield sun.jvm.hotspot.debugger.linux.amd64.LinuxAMD64CFrame.rip:Lsun/jvm/hotspot/debugger/Address;
         3: .line 69
            aload 0 /* this */
            aload 1 /* dbg */
            putfield sun.jvm.hotspot.debugger.linux.amd64.LinuxAMD64CFrame.dbg:Lsun/jvm/hotspot/debugger/linux/LinuxDebugger;
         4: .line 70
            aload 0 /* this */
            aload 4 /* dwarf */
            putfield sun.jvm.hotspot.debugger.linux.amd64.LinuxAMD64CFrame.dwarf:Lsun/jvm/hotspot/debugger/linux/amd64/DwarfParser;
         5: .line 71
            aload 0 /* this */
            iload 5 /* finalFrame */
            putfield sun.jvm.hotspot.debugger.linux.amd64.LinuxAMD64CFrame.finalFrame:Z
         6: .line 72
            return
        end local 5 // boolean finalFrame
        end local 4 // sun.jvm.hotspot.debugger.linux.amd64.DwarfParser dwarf
        end local 3 // sun.jvm.hotspot.debugger.Address rip
        end local 2 // sun.jvm.hotspot.debugger.Address cfa
        end local 1 // sun.jvm.hotspot.debugger.linux.LinuxDebugger dbg
        end local 0 // sun.jvm.hotspot.debugger.linux.amd64.LinuxAMD64CFrame this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Lsun/jvm/hotspot/debugger/linux/amd64/LinuxAMD64CFrame;
            0    7     1         dbg  Lsun/jvm/hotspot/debugger/linux/LinuxDebugger;
            0    7     2         cfa  Lsun/jvm/hotspot/debugger/Address;
            0    7     3         rip  Lsun/jvm/hotspot/debugger/Address;
            0    7     4       dwarf  Lsun/jvm/hotspot/debugger/linux/amd64/DwarfParser;
            0    7     5  finalFrame  Z
    MethodParameters:
            Name  Flags
      dbg         
      cfa         
      rip         
      dwarf       
      finalFrame  

  public sun.jvm.hotspot.debugger.cdbg.ClosestSymbol closestSymbolToPC();
    descriptor: ()Lsun/jvm/hotspot/debugger/cdbg/ClosestSymbol;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.jvm.hotspot.debugger.linux.amd64.LinuxAMD64CFrame this
         0: .line 77
            aload 0 /* this */
            getfield sun.jvm.hotspot.debugger.linux.amd64.LinuxAMD64CFrame.dbg:Lsun/jvm/hotspot/debugger/linux/LinuxDebugger;
            aload 0 /* this */
            getfield sun.jvm.hotspot.debugger.linux.amd64.LinuxAMD64CFrame.dbg:Lsun/jvm/hotspot/debugger/linux/LinuxDebugger;
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.debugger.linux.amd64.LinuxAMD64CFrame.pc:()Lsun/jvm/hotspot/debugger/Address;
            invokeinterface sun.jvm.hotspot.debugger.linux.LinuxDebugger.getAddressValue:(Lsun/jvm/hotspot/debugger/Address;)J
            invokeinterface sun.jvm.hotspot.debugger.linux.LinuxDebugger.lookup:(J)Lsun/jvm/hotspot/debugger/cdbg/ClosestSymbol;
            areturn
        end local 0 // sun.jvm.hotspot.debugger.linux.amd64.LinuxAMD64CFrame this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/jvm/hotspot/debugger/linux/amd64/LinuxAMD64CFrame;

  public sun.jvm.hotspot.debugger.Address pc();
    descriptor: ()Lsun/jvm/hotspot/debugger/Address;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.jvm.hotspot.debugger.linux.amd64.LinuxAMD64CFrame this
         0: .line 81
            aload 0 /* this */
            getfield sun.jvm.hotspot.debugger.linux.amd64.LinuxAMD64CFrame.rip:Lsun/jvm/hotspot/debugger/Address;
            areturn
        end local 0 // sun.jvm.hotspot.debugger.linux.amd64.LinuxAMD64CFrame this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/jvm/hotspot/debugger/linux/amd64/LinuxAMD64CFrame;

  public sun.jvm.hotspot.debugger.Address localVariableBase();
    descriptor: ()Lsun/jvm/hotspot/debugger/Address;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.jvm.hotspot.debugger.linux.amd64.LinuxAMD64CFrame this
         0: .line 85
            aload 0 /* this */
            getfield sun.jvm.hotspot.debugger.linux.amd64.LinuxAMD64CFrame.cfa:Lsun/jvm/hotspot/debugger/Address;
            areturn
        end local 0 // sun.jvm.hotspot.debugger.linux.amd64.LinuxAMD64CFrame this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/jvm/hotspot/debugger/linux/amd64/LinuxAMD64CFrame;

  private sun.jvm.hotspot.debugger.Address getNextPC(boolean);
    descriptor: (Z)Lsun/jvm/hotspot/debugger/Address;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // sun.jvm.hotspot.debugger.linux.amd64.LinuxAMD64CFrame this
        start local 1 // boolean useDwarf
         0: .line 90
            iload 1 /* useDwarf */
            ifeq 1
            aload 0 /* this */
            getfield sun.jvm.hotspot.debugger.linux.amd64.LinuxAMD64CFrame.dwarf:Lsun/jvm/hotspot/debugger/linux/amd64/DwarfParser;
            invokevirtual sun.jvm.hotspot.debugger.linux.amd64.DwarfParser.getReturnAddressOffsetFromCFA:()I
            goto 2
         1: .line 91
      StackMap locals:
      StackMap stack:
            bipush 8
         2: .line 90
      StackMap locals:
      StackMap stack: int
            i2l
            lstore 2 /* offs */
        start local 2 // long offs
         3: .line 92
            aload 0 /* this */
            getfield sun.jvm.hotspot.debugger.linux.amd64.LinuxAMD64CFrame.cfa:Lsun/jvm/hotspot/debugger/Address;
            lload 2 /* offs */
            invokeinterface sun.jvm.hotspot.debugger.Address.getAddressAt:(J)Lsun/jvm/hotspot/debugger/Address;
         4: areturn
        end local 2 // long offs
         5: .line 93
      StackMap locals:
      StackMap stack: sun.jvm.hotspot.debugger.AddressException
            pop
         6: .line 94
            aconst_null
            areturn
        end local 1 // boolean useDwarf
        end local 0 // sun.jvm.hotspot.debugger.linux.amd64.LinuxAMD64CFrame this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lsun/jvm/hotspot/debugger/linux/amd64/LinuxAMD64CFrame;
            0    7     1  useDwarf  Z
            3    5     2      offs  J
      Exception table:
        from    to  target  type
           0     4       5  Class sun.jvm.hotspot.debugger.UnmappedAddressException
           0     4       5  Class sun.jvm.hotspot.debugger.UnalignedAddressException
    MethodParameters:
          Name  Flags
      useDwarf  

  private boolean isValidFrame(sun.jvm.hotspot.debugger.Address, sun.jvm.hotspot.debugger.ThreadContext);
    descriptor: (Lsun/jvm/hotspot/debugger/Address;Lsun/jvm/hotspot/debugger/ThreadContext;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // sun.jvm.hotspot.debugger.linux.amd64.LinuxAMD64CFrame this
        start local 1 // sun.jvm.hotspot.debugger.Address nextCFA
        start local 2 // sun.jvm.hotspot.debugger.ThreadContext context
         0: .line 99
            aload 1 /* nextCFA */
            ifnull 3
         1: .line 100
            aload 1 /* nextCFA */
            aload 2 /* context */
            bipush 20
            invokeinterface sun.jvm.hotspot.debugger.ThreadContext.getRegisterAsAddress:(I)Lsun/jvm/hotspot/debugger/Address;
            invokeinterface sun.jvm.hotspot.debugger.Address.lessThan:(Lsun/jvm/hotspot/debugger/Address;)Z
            ifne 3
         2: .line 99
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_0
            ireturn
        end local 2 // sun.jvm.hotspot.debugger.ThreadContext context
        end local 1 // sun.jvm.hotspot.debugger.Address nextCFA
        end local 0 // sun.jvm.hotspot.debugger.linux.amd64.LinuxAMD64CFrame this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lsun/jvm/hotspot/debugger/linux/amd64/LinuxAMD64CFrame;
            0    4     1  nextCFA  Lsun/jvm/hotspot/debugger/Address;
            0    4     2  context  Lsun/jvm/hotspot/debugger/ThreadContext;
    MethodParameters:
         Name  Flags
      nextCFA  
      context  

  private sun.jvm.hotspot.debugger.Address getNextCFA(sun.jvm.hotspot.debugger.linux.amd64.DwarfParser, sun.jvm.hotspot.debugger.ThreadContext);
    descriptor: (Lsun/jvm/hotspot/debugger/linux/amd64/DwarfParser;Lsun/jvm/hotspot/debugger/ThreadContext;)Lsun/jvm/hotspot/debugger/Address;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // sun.jvm.hotspot.debugger.linux.amd64.LinuxAMD64CFrame this
        start local 1 // sun.jvm.hotspot.debugger.linux.amd64.DwarfParser nextDwarf
        start local 2 // sun.jvm.hotspot.debugger.ThreadContext context
         0: .line 106
            aload 1 /* nextDwarf */
            ifnonnull 5
         1: .line 107
            aload 0 /* this */
            getfield sun.jvm.hotspot.debugger.linux.amd64.LinuxAMD64CFrame.dwarf:Lsun/jvm/hotspot/debugger/linux/amd64/DwarfParser;
            ifnonnull 2
            aload 0 /* this */
            getfield sun.jvm.hotspot.debugger.linux.amd64.LinuxAMD64CFrame.cfa:Lsun/jvm/hotspot/debugger/Address;
            lconst_0
            invokeinterface sun.jvm.hotspot.debugger.Address.getAddressAt:(J)Lsun/jvm/hotspot/debugger/Address;
            goto 3
         2: .line 108
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.jvm.hotspot.debugger.linux.amd64.LinuxAMD64CFrame.cfa:Lsun/jvm/hotspot/debugger/Address;
            aload 0 /* this */
            getfield sun.jvm.hotspot.debugger.linux.amd64.LinuxAMD64CFrame.dwarf:Lsun/jvm/hotspot/debugger/linux/amd64/DwarfParser;
            invokevirtual sun.jvm.hotspot.debugger.linux.amd64.DwarfParser.getBasePointerOffsetFromCFA:()I
            i2l
            invokeinterface sun.jvm.hotspot.debugger.Address.getAddressAt:(J)Lsun/jvm/hotspot/debugger/Address;
         3: .line 107
      StackMap locals:
      StackMap stack: sun.jvm.hotspot.debugger.Address
            astore 3 /* nextCFA */
        start local 3 // sun.jvm.hotspot.debugger.Address nextCFA
         4: .line 109
            goto 20
        end local 3 // sun.jvm.hotspot.debugger.Address nextCFA
         5: .line 110
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.jvm.hotspot.debugger.linux.amd64.LinuxAMD64CFrame.dwarf:Lsun/jvm/hotspot/debugger/linux/amd64/DwarfParser;
            ifnonnull 8
         6: .line 111
            aload 0 /* this */
            getfield sun.jvm.hotspot.debugger.linux.amd64.LinuxAMD64CFrame.cfa:Lsun/jvm/hotspot/debugger/Address;
            lconst_0
            invokeinterface sun.jvm.hotspot.debugger.Address.getAddressAt:(J)Lsun/jvm/hotspot/debugger/Address;
            astore 3 /* nextCFA */
        start local 3 // sun.jvm.hotspot.debugger.Address nextCFA
         7: .line 112
            goto 18
        end local 3 // sun.jvm.hotspot.debugger.Address nextCFA
         8: .line 113
      StackMap locals:
      StackMap stack:
            aload 1 /* nextDwarf */
            invokevirtual sun.jvm.hotspot.debugger.linux.amd64.DwarfParser.getCFARegister:()I
            istore 4 /* nextCFAReg */
        start local 4 // int nextCFAReg
         9: .line 114
            aload 0 /* this */
            getfield sun.jvm.hotspot.debugger.linux.amd64.LinuxAMD64CFrame.dwarf:Lsun/jvm/hotspot/debugger/linux/amd64/DwarfParser;
            invokevirtual sun.jvm.hotspot.debugger.linux.amd64.DwarfParser.isBPOffsetAvailable:()Z
            ifne 17
        10: .line 115
            iload 4 /* nextCFAReg */
            bipush 10
            if_icmpne 17
        11: .line 116
            iload 4 /* nextCFAReg */
            aload 0 /* this */
            getfield sun.jvm.hotspot.debugger.linux.amd64.LinuxAMD64CFrame.dwarf:Lsun/jvm/hotspot/debugger/linux/amd64/DwarfParser;
            invokevirtual sun.jvm.hotspot.debugger.linux.amd64.DwarfParser.getCFARegister:()I
            if_icmpeq 17
        12: .line 117
            aload 2 /* context */
            bipush 10
            invokeinterface sun.jvm.hotspot.debugger.ThreadContext.getRegisterAsAddress:(I)Lsun/jvm/hotspot/debugger/Address;
            astore 3 /* nextCFA */
        start local 3 // sun.jvm.hotspot.debugger.Address nextCFA
        13: .line 118
            aload 3 /* nextCFA */
            ifnonnull 15
        14: .line 119
            aconst_null
            areturn
        15: .line 121
      StackMap locals: sun.jvm.hotspot.debugger.Address int
      StackMap stack:
            aload 3 /* nextCFA */
            lconst_0
            invokeinterface sun.jvm.hotspot.debugger.Address.getAddressAt:(J)Lsun/jvm/hotspot/debugger/Address;
            astore 3 /* nextCFA */
        16: .line 122
            goto 18
        end local 3 // sun.jvm.hotspot.debugger.Address nextCFA
        17: .line 123
      StackMap locals: sun.jvm.hotspot.debugger.linux.amd64.LinuxAMD64CFrame sun.jvm.hotspot.debugger.linux.amd64.DwarfParser sun.jvm.hotspot.debugger.ThreadContext top int
      StackMap stack:
            aload 0 /* this */
            getfield sun.jvm.hotspot.debugger.linux.amd64.LinuxAMD64CFrame.cfa:Lsun/jvm/hotspot/debugger/Address;
            aload 0 /* this */
            getfield sun.jvm.hotspot.debugger.linux.amd64.LinuxAMD64CFrame.dwarf:Lsun/jvm/hotspot/debugger/linux/amd64/DwarfParser;
            invokevirtual sun.jvm.hotspot.debugger.linux.amd64.DwarfParser.getBasePointerOffsetFromCFA:()I
            i2l
            invokeinterface sun.jvm.hotspot.debugger.Address.getAddressAt:(J)Lsun/jvm/hotspot/debugger/Address;
            astore 3 /* nextCFA */
        end local 4 // int nextCFAReg
        start local 3 // sun.jvm.hotspot.debugger.Address nextCFA
        18: .line 126
      StackMap locals: sun.jvm.hotspot.debugger.linux.amd64.LinuxAMD64CFrame sun.jvm.hotspot.debugger.linux.amd64.DwarfParser sun.jvm.hotspot.debugger.ThreadContext sun.jvm.hotspot.debugger.Address
      StackMap stack:
            aload 3 /* nextCFA */
            ifnull 20
        19: .line 127
            aload 3 /* nextCFA */
            aload 1 /* nextDwarf */
            invokevirtual sun.jvm.hotspot.debugger.linux.amd64.DwarfParser.getBasePointerOffsetFromCFA:()I
            ineg
            i2l
            invokeinterface sun.jvm.hotspot.debugger.Address.addOffsetTo:(J)Lsun/jvm/hotspot/debugger/Address;
            astore 3 /* nextCFA */
        20: .line 131
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* nextCFA */
            aload 2 /* context */
            invokevirtual sun.jvm.hotspot.debugger.linux.amd64.LinuxAMD64CFrame.isValidFrame:(Lsun/jvm/hotspot/debugger/Address;Lsun/jvm/hotspot/debugger/ThreadContext;)Z
            ifeq 21
            aload 3 /* nextCFA */
            goto 22
      StackMap locals:
      StackMap stack:
        21: aconst_null
      StackMap locals:
      StackMap stack: sun.jvm.hotspot.debugger.Address
        22: areturn
        end local 3 // sun.jvm.hotspot.debugger.Address nextCFA
        end local 2 // sun.jvm.hotspot.debugger.ThreadContext context
        end local 1 // sun.jvm.hotspot.debugger.linux.amd64.DwarfParser nextDwarf
        end local 0 // sun.jvm.hotspot.debugger.linux.amd64.LinuxAMD64CFrame this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   23     0        this  Lsun/jvm/hotspot/debugger/linux/amd64/LinuxAMD64CFrame;
            0   23     1   nextDwarf  Lsun/jvm/hotspot/debugger/linux/amd64/DwarfParser;
            0   23     2     context  Lsun/jvm/hotspot/debugger/ThreadContext;
            4    5     3     nextCFA  Lsun/jvm/hotspot/debugger/Address;
            7    8     3     nextCFA  Lsun/jvm/hotspot/debugger/Address;
           13   17     3     nextCFA  Lsun/jvm/hotspot/debugger/Address;
           18   23     3     nextCFA  Lsun/jvm/hotspot/debugger/Address;
            9   18     4  nextCFAReg  I
    MethodParameters:
           Name  Flags
      nextDwarf  
      context    

  public sun.jvm.hotspot.debugger.cdbg.CFrame sender(sun.jvm.hotspot.debugger.ThreadProxy);
    descriptor: (Lsun/jvm/hotspot/debugger/ThreadProxy;)Lsun/jvm/hotspot/debugger/cdbg/CFrame;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=6, args_size=2
        start local 0 // sun.jvm.hotspot.debugger.linux.amd64.LinuxAMD64CFrame this
        start local 1 // sun.jvm.hotspot.debugger.ThreadProxy thread
         0: .line 136
            aload 0 /* this */
            getfield sun.jvm.hotspot.debugger.linux.amd64.LinuxAMD64CFrame.finalFrame:Z
            ifeq 2
         1: .line 137
            aconst_null
            areturn
         2: .line 140
      StackMap locals:
      StackMap stack:
            aload 1 /* thread */
            invokeinterface sun.jvm.hotspot.debugger.ThreadProxy.getContext:()Lsun/jvm/hotspot/debugger/ThreadContext;
            astore 2 /* context */
        start local 2 // sun.jvm.hotspot.debugger.ThreadContext context
         3: .line 142
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.jvm.hotspot.debugger.linux.amd64.LinuxAMD64CFrame.dwarf:Lsun/jvm/hotspot/debugger/linux/amd64/DwarfParser;
            ifnull 4
            iconst_1
            goto 5
      StackMap locals: sun.jvm.hotspot.debugger.linux.amd64.LinuxAMD64CFrame sun.jvm.hotspot.debugger.ThreadProxy sun.jvm.hotspot.debugger.ThreadContext
      StackMap stack: sun.jvm.hotspot.debugger.linux.amd64.LinuxAMD64CFrame
         4: iconst_0
      StackMap locals: sun.jvm.hotspot.debugger.linux.amd64.LinuxAMD64CFrame sun.jvm.hotspot.debugger.ThreadProxy sun.jvm.hotspot.debugger.ThreadContext
      StackMap stack: sun.jvm.hotspot.debugger.linux.amd64.LinuxAMD64CFrame int
         5: invokevirtual sun.jvm.hotspot.debugger.linux.amd64.LinuxAMD64CFrame.getNextPC:(Z)Lsun/jvm/hotspot/debugger/Address;
            astore 3 /* nextPC */
        start local 3 // sun.jvm.hotspot.debugger.Address nextPC
         6: .line 143
            aload 3 /* nextPC */
            ifnonnull 8
         7: .line 144
            aconst_null
            areturn
         8: .line 147
      StackMap locals: sun.jvm.hotspot.debugger.Address
      StackMap stack:
            aconst_null
            astore 4 /* nextDwarf */
        start local 4 // sun.jvm.hotspot.debugger.linux.amd64.DwarfParser nextDwarf
         9: .line 149
            aload 0 /* this */
            getfield sun.jvm.hotspot.debugger.linux.amd64.LinuxAMD64CFrame.dwarf:Lsun/jvm/hotspot/debugger/linux/amd64/DwarfParser;
            ifnull 12
            aload 0 /* this */
            getfield sun.jvm.hotspot.debugger.linux.amd64.LinuxAMD64CFrame.dwarf:Lsun/jvm/hotspot/debugger/linux/amd64/DwarfParser;
            aload 3 /* nextPC */
            invokevirtual sun.jvm.hotspot.debugger.linux.amd64.DwarfParser.isIn:(Lsun/jvm/hotspot/debugger/Address;)Z
            ifeq 12
        10: .line 150
            aload 0 /* this */
            getfield sun.jvm.hotspot.debugger.linux.amd64.LinuxAMD64CFrame.dwarf:Lsun/jvm/hotspot/debugger/linux/amd64/DwarfParser;
            astore 4 /* nextDwarf */
        11: .line 151
            goto 17
        12: .line 152
      StackMap locals: sun.jvm.hotspot.debugger.linux.amd64.DwarfParser
      StackMap stack:
            aload 0 /* this */
            getfield sun.jvm.hotspot.debugger.linux.amd64.LinuxAMD64CFrame.dbg:Lsun/jvm/hotspot/debugger/linux/LinuxDebugger;
            aload 3 /* nextPC */
            invokeinterface sun.jvm.hotspot.debugger.linux.LinuxDebugger.findLibPtrByAddress:(Lsun/jvm/hotspot/debugger/Address;)Lsun/jvm/hotspot/debugger/Address;
            astore 5 /* libptr */
        start local 5 // sun.jvm.hotspot.debugger.Address libptr
        13: .line 153
            aload 5 /* libptr */
            ifnull 17
        14: .line 155
            new sun.jvm.hotspot.debugger.linux.amd64.DwarfParser
            dup
            aload 5 /* libptr */
            invokespecial sun.jvm.hotspot.debugger.linux.amd64.DwarfParser.<init>:(Lsun/jvm/hotspot/debugger/Address;)V
            astore 4 /* nextDwarf */
        15: .line 156
            goto 17
      StackMap locals: sun.jvm.hotspot.debugger.linux.amd64.LinuxAMD64CFrame sun.jvm.hotspot.debugger.ThreadProxy sun.jvm.hotspot.debugger.ThreadContext sun.jvm.hotspot.debugger.Address sun.jvm.hotspot.debugger.linux.amd64.DwarfParser sun.jvm.hotspot.debugger.Address
      StackMap stack: sun.jvm.hotspot.debugger.DebuggerException
        16: pop
        end local 5 // sun.jvm.hotspot.debugger.Address libptr
        17: .line 162
      StackMap locals:
      StackMap stack:
            aload 4 /* nextDwarf */
            ifnull 22
        18: .line 164
            aload 4 /* nextDwarf */
            aload 3 /* nextPC */
            invokevirtual sun.jvm.hotspot.debugger.linux.amd64.DwarfParser.processDwarf:(Lsun/jvm/hotspot/debugger/Address;)V
        19: .line 165
            goto 22
      StackMap locals:
      StackMap stack: sun.jvm.hotspot.debugger.DebuggerException
        20: pop
        21: .line 169
            new sun.jvm.hotspot.debugger.linux.amd64.LinuxAMD64CFrame
            dup
            aload 0 /* this */
            getfield sun.jvm.hotspot.debugger.linux.amd64.LinuxAMD64CFrame.dbg:Lsun/jvm/hotspot/debugger/linux/LinuxDebugger;
            aconst_null
            aload 3 /* nextPC */
            aload 4 /* nextDwarf */
            iconst_1
            invokespecial sun.jvm.hotspot.debugger.linux.amd64.LinuxAMD64CFrame.<init>:(Lsun/jvm/hotspot/debugger/linux/LinuxDebugger;Lsun/jvm/hotspot/debugger/Address;Lsun/jvm/hotspot/debugger/Address;Lsun/jvm/hotspot/debugger/linux/amd64/DwarfParser;Z)V
            areturn
        22: .line 173
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* nextDwarf */
            aload 2 /* context */
            invokevirtual sun.jvm.hotspot.debugger.linux.amd64.LinuxAMD64CFrame.getNextCFA:(Lsun/jvm/hotspot/debugger/linux/amd64/DwarfParser;Lsun/jvm/hotspot/debugger/ThreadContext;)Lsun/jvm/hotspot/debugger/Address;
            astore 5 /* nextCFA */
        start local 5 // sun.jvm.hotspot.debugger.Address nextCFA
        23: .line 174
            aload 0 /* this */
            aload 5 /* nextCFA */
            aload 2 /* context */
            invokevirtual sun.jvm.hotspot.debugger.linux.amd64.LinuxAMD64CFrame.isValidFrame:(Lsun/jvm/hotspot/debugger/Address;Lsun/jvm/hotspot/debugger/ThreadContext;)Z
            ifeq 24
            new sun.jvm.hotspot.debugger.linux.amd64.LinuxAMD64CFrame
            dup
            aload 0 /* this */
            getfield sun.jvm.hotspot.debugger.linux.amd64.LinuxAMD64CFrame.dbg:Lsun/jvm/hotspot/debugger/linux/LinuxDebugger;
            aload 5 /* nextCFA */
            aload 3 /* nextPC */
            aload 4 /* nextDwarf */
            invokespecial sun.jvm.hotspot.debugger.linux.amd64.LinuxAMD64CFrame.<init>:(Lsun/jvm/hotspot/debugger/linux/LinuxDebugger;Lsun/jvm/hotspot/debugger/Address;Lsun/jvm/hotspot/debugger/Address;Lsun/jvm/hotspot/debugger/linux/amd64/DwarfParser;)V
            goto 25
        24: .line 175
      StackMap locals: sun.jvm.hotspot.debugger.Address
      StackMap stack:
            aconst_null
        25: .line 174
      StackMap locals:
      StackMap stack: sun.jvm.hotspot.debugger.linux.amd64.LinuxAMD64CFrame
            areturn
        end local 5 // sun.jvm.hotspot.debugger.Address nextCFA
        end local 4 // sun.jvm.hotspot.debugger.linux.amd64.DwarfParser nextDwarf
        end local 3 // sun.jvm.hotspot.debugger.Address nextPC
        end local 2 // sun.jvm.hotspot.debugger.ThreadContext context
        end local 1 // sun.jvm.hotspot.debugger.ThreadProxy thread
        end local 0 // sun.jvm.hotspot.debugger.linux.amd64.LinuxAMD64CFrame this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   26     0       this  Lsun/jvm/hotspot/debugger/linux/amd64/LinuxAMD64CFrame;
            0   26     1     thread  Lsun/jvm/hotspot/debugger/ThreadProxy;
            3   26     2    context  Lsun/jvm/hotspot/debugger/ThreadContext;
            6   26     3     nextPC  Lsun/jvm/hotspot/debugger/Address;
            9   26     4  nextDwarf  Lsun/jvm/hotspot/debugger/linux/amd64/DwarfParser;
           13   17     5     libptr  Lsun/jvm/hotspot/debugger/Address;
           23   26     5    nextCFA  Lsun/jvm/hotspot/debugger/Address;
      Exception table:
        from    to  target  type
          14    15      16  Class sun.jvm.hotspot.debugger.DebuggerException
          18    19      20  Class sun.jvm.hotspot.debugger.DebuggerException
    MethodParameters:
        Name  Flags
      thread  
}
SourceFile: "LinuxAMD64CFrame.java"