public class sun.jvm.hotspot.runtime.linux_amd64.LinuxAMD64JavaThreadPDAccess implements sun.jvm.hotspot.runtime.JavaThreadPDAccess
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.jvm.hotspot.runtime.linux_amd64.LinuxAMD64JavaThreadPDAccess
  super_class: java.lang.Object
{
  private static sun.jvm.hotspot.types.AddressField lastJavaFPField;
    descriptor: Lsun/jvm/hotspot/types/AddressField;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static sun.jvm.hotspot.types.AddressField osThreadField;
    descriptor: Lsun/jvm/hotspot/types/AddressField;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static sun.jvm.hotspot.types.CIntegerField osThreadThreadIDField;
    descriptor: Lsun/jvm/hotspot/types/CIntegerField;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static final long GUESS_SCAN_RANGE;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 131072

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 51
            new sun.jvm.hotspot.runtime.linux_amd64.LinuxAMD64JavaThreadPDAccess$1
            dup
            invokespecial sun.jvm.hotspot.runtime.linux_amd64.LinuxAMD64JavaThreadPDAccess$1.<init>:()V
            invokestatic sun.jvm.hotspot.runtime.VM.registerVMInitializedObserver:(Lsun/jvm/hotspot/utilities/Observer;)V
         1: .line 56
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.jvm.hotspot.runtime.linux_amd64.LinuxAMD64JavaThreadPDAccess this
         0: .line 39
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // sun.jvm.hotspot.runtime.linux_amd64.LinuxAMD64JavaThreadPDAccess this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/jvm/hotspot/runtime/linux_amd64/LinuxAMD64JavaThreadPDAccess;

  private static synchronized void initialize(sun.jvm.hotspot.types.TypeDataBase);
    descriptor: (Lsun/jvm/hotspot/types/TypeDataBase;)V
    flags: (0x002a) ACC_PRIVATE, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // sun.jvm.hotspot.types.TypeDataBase db
         0: .line 59
            aload 0 /* db */
            ldc "JavaThread"
            invokeinterface sun.jvm.hotspot.types.TypeDataBase.lookupType:(Ljava/lang/String;)Lsun/jvm/hotspot/types/Type;
            astore 1 /* type */
        start local 1 // sun.jvm.hotspot.types.Type type
         1: .line 60
            aload 1 /* type */
            ldc "_osthread"
            invokeinterface sun.jvm.hotspot.types.Type.getAddressField:(Ljava/lang/String;)Lsun/jvm/hotspot/types/AddressField;
            putstatic sun.jvm.hotspot.runtime.linux_amd64.LinuxAMD64JavaThreadPDAccess.osThreadField:Lsun/jvm/hotspot/types/AddressField;
         2: .line 62
            aload 0 /* db */
            ldc "JavaFrameAnchor"
            invokeinterface sun.jvm.hotspot.types.TypeDataBase.lookupType:(Ljava/lang/String;)Lsun/jvm/hotspot/types/Type;
            astore 2 /* anchorType */
        start local 2 // sun.jvm.hotspot.types.Type anchorType
         3: .line 63
            aload 2 /* anchorType */
            ldc "_last_Java_fp"
            invokeinterface sun.jvm.hotspot.types.Type.getAddressField:(Ljava/lang/String;)Lsun/jvm/hotspot/types/AddressField;
            putstatic sun.jvm.hotspot.runtime.linux_amd64.LinuxAMD64JavaThreadPDAccess.lastJavaFPField:Lsun/jvm/hotspot/types/AddressField;
         4: .line 65
            aload 0 /* db */
            ldc "OSThread"
            invokeinterface sun.jvm.hotspot.types.TypeDataBase.lookupType:(Ljava/lang/String;)Lsun/jvm/hotspot/types/Type;
            astore 3 /* osThreadType */
        start local 3 // sun.jvm.hotspot.types.Type osThreadType
         5: .line 66
            aload 3 /* osThreadType */
            ldc "_thread_id"
            invokeinterface sun.jvm.hotspot.types.Type.getCIntegerField:(Ljava/lang/String;)Lsun/jvm/hotspot/types/CIntegerField;
            putstatic sun.jvm.hotspot.runtime.linux_amd64.LinuxAMD64JavaThreadPDAccess.osThreadThreadIDField:Lsun/jvm/hotspot/types/CIntegerField;
         6: .line 67
            return
        end local 3 // sun.jvm.hotspot.types.Type osThreadType
        end local 2 // sun.jvm.hotspot.types.Type anchorType
        end local 1 // sun.jvm.hotspot.types.Type type
        end local 0 // sun.jvm.hotspot.types.TypeDataBase db
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    7     0            db  Lsun/jvm/hotspot/types/TypeDataBase;
            1    7     1          type  Lsun/jvm/hotspot/types/Type;
            3    7     2    anchorType  Lsun/jvm/hotspot/types/Type;
            5    7     3  osThreadType  Lsun/jvm/hotspot/types/Type;
    MethodParameters:
      Name  Flags
      db    

  public sun.jvm.hotspot.debugger.Address getLastJavaFP(sun.jvm.hotspot.debugger.Address);
    descriptor: (Lsun/jvm/hotspot/debugger/Address;)Lsun/jvm/hotspot/debugger/Address;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // sun.jvm.hotspot.runtime.linux_amd64.LinuxAMD64JavaThreadPDAccess this
        start local 1 // sun.jvm.hotspot.debugger.Address addr
         0: .line 70
            getstatic sun.jvm.hotspot.runtime.linux_amd64.LinuxAMD64JavaThreadPDAccess.lastJavaFPField:Lsun/jvm/hotspot/types/AddressField;
            aload 1 /* addr */
            invokestatic sun.jvm.hotspot.runtime.JavaThread.getAnchorField:()Lsun/jvm/hotspot/types/AddressField;
            invokeinterface sun.jvm.hotspot.types.AddressField.getOffset:()J
            invokeinterface sun.jvm.hotspot.debugger.Address.addOffsetTo:(J)Lsun/jvm/hotspot/debugger/Address;
            invokeinterface sun.jvm.hotspot.types.AddressField.getValue:(Lsun/jvm/hotspot/debugger/Address;)Lsun/jvm/hotspot/debugger/Address;
            areturn
        end local 1 // sun.jvm.hotspot.debugger.Address addr
        end local 0 // sun.jvm.hotspot.runtime.linux_amd64.LinuxAMD64JavaThreadPDAccess this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/jvm/hotspot/runtime/linux_amd64/LinuxAMD64JavaThreadPDAccess;
            0    1     1  addr  Lsun/jvm/hotspot/debugger/Address;
    MethodParameters:
      Name  Flags
      addr  

  public sun.jvm.hotspot.debugger.Address getLastJavaPC(sun.jvm.hotspot.debugger.Address);
    descriptor: (Lsun/jvm/hotspot/debugger/Address;)Lsun/jvm/hotspot/debugger/Address;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // sun.jvm.hotspot.runtime.linux_amd64.LinuxAMD64JavaThreadPDAccess this
        start local 1 // sun.jvm.hotspot.debugger.Address addr
         0: .line 74
            aconst_null
            areturn
        end local 1 // sun.jvm.hotspot.debugger.Address addr
        end local 0 // sun.jvm.hotspot.runtime.linux_amd64.LinuxAMD64JavaThreadPDAccess this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/jvm/hotspot/runtime/linux_amd64/LinuxAMD64JavaThreadPDAccess;
            0    1     1  addr  Lsun/jvm/hotspot/debugger/Address;
    MethodParameters:
      Name  Flags
      addr  

  public sun.jvm.hotspot.debugger.Address getBaseOfStackPointer(sun.jvm.hotspot.debugger.Address);
    descriptor: (Lsun/jvm/hotspot/debugger/Address;)Lsun/jvm/hotspot/debugger/Address;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // sun.jvm.hotspot.runtime.linux_amd64.LinuxAMD64JavaThreadPDAccess this
        start local 1 // sun.jvm.hotspot.debugger.Address addr
         0: .line 78
            aconst_null
            areturn
        end local 1 // sun.jvm.hotspot.debugger.Address addr
        end local 0 // sun.jvm.hotspot.runtime.linux_amd64.LinuxAMD64JavaThreadPDAccess this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/jvm/hotspot/runtime/linux_amd64/LinuxAMD64JavaThreadPDAccess;
            0    1     1  addr  Lsun/jvm/hotspot/debugger/Address;
    MethodParameters:
      Name  Flags
      addr  

  public sun.jvm.hotspot.runtime.Frame getLastFramePD(sun.jvm.hotspot.runtime.JavaThread, sun.jvm.hotspot.debugger.Address);
    descriptor: (Lsun/jvm/hotspot/runtime/JavaThread;Lsun/jvm/hotspot/debugger/Address;)Lsun/jvm/hotspot/runtime/Frame;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // sun.jvm.hotspot.runtime.linux_amd64.LinuxAMD64JavaThreadPDAccess this
        start local 1 // sun.jvm.hotspot.runtime.JavaThread thread
        start local 2 // sun.jvm.hotspot.debugger.Address addr
         0: .line 82
            aload 1 /* thread */
            invokevirtual sun.jvm.hotspot.runtime.JavaThread.getLastJavaFP:()Lsun/jvm/hotspot/debugger/Address;
            astore 3 /* fp */
        start local 3 // sun.jvm.hotspot.debugger.Address fp
         1: .line 83
            aload 3 /* fp */
            ifnonnull 3
         2: .line 84
            aconst_null
            areturn
         3: .line 86
      StackMap locals: sun.jvm.hotspot.debugger.Address
      StackMap stack:
            new sun.jvm.hotspot.runtime.x86.X86Frame
            dup
            aload 1 /* thread */
            invokevirtual sun.jvm.hotspot.runtime.JavaThread.getLastJavaSP:()Lsun/jvm/hotspot/debugger/Address;
            aload 3 /* fp */
            invokespecial sun.jvm.hotspot.runtime.x86.X86Frame.<init>:(Lsun/jvm/hotspot/debugger/Address;Lsun/jvm/hotspot/debugger/Address;)V
            areturn
        end local 3 // sun.jvm.hotspot.debugger.Address fp
        end local 2 // sun.jvm.hotspot.debugger.Address addr
        end local 1 // sun.jvm.hotspot.runtime.JavaThread thread
        end local 0 // sun.jvm.hotspot.runtime.linux_amd64.LinuxAMD64JavaThreadPDAccess this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lsun/jvm/hotspot/runtime/linux_amd64/LinuxAMD64JavaThreadPDAccess;
            0    4     1  thread  Lsun/jvm/hotspot/runtime/JavaThread;
            0    4     2    addr  Lsun/jvm/hotspot/debugger/Address;
            1    4     3      fp  Lsun/jvm/hotspot/debugger/Address;
    MethodParameters:
        Name  Flags
      thread  
      addr    

  public sun.jvm.hotspot.runtime.RegisterMap newRegisterMap(sun.jvm.hotspot.runtime.JavaThread, boolean);
    descriptor: (Lsun/jvm/hotspot/runtime/JavaThread;Z)Lsun/jvm/hotspot/runtime/RegisterMap;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // sun.jvm.hotspot.runtime.linux_amd64.LinuxAMD64JavaThreadPDAccess this
        start local 1 // sun.jvm.hotspot.runtime.JavaThread thread
        start local 2 // boolean updateMap
         0: .line 90
            new sun.jvm.hotspot.runtime.x86.X86RegisterMap
            dup
            aload 1 /* thread */
            iload 2 /* updateMap */
            invokespecial sun.jvm.hotspot.runtime.x86.X86RegisterMap.<init>:(Lsun/jvm/hotspot/runtime/JavaThread;Z)V
            areturn
        end local 2 // boolean updateMap
        end local 1 // sun.jvm.hotspot.runtime.JavaThread thread
        end local 0 // sun.jvm.hotspot.runtime.linux_amd64.LinuxAMD64JavaThreadPDAccess this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lsun/jvm/hotspot/runtime/linux_amd64/LinuxAMD64JavaThreadPDAccess;
            0    1     1     thread  Lsun/jvm/hotspot/runtime/JavaThread;
            0    1     2  updateMap  Z
    MethodParameters:
           Name  Flags
      thread     
      updateMap  

  public sun.jvm.hotspot.runtime.Frame getCurrentFrameGuess(sun.jvm.hotspot.runtime.JavaThread, sun.jvm.hotspot.debugger.Address);
    descriptor: (Lsun/jvm/hotspot/runtime/JavaThread;Lsun/jvm/hotspot/debugger/Address;)Lsun/jvm/hotspot/runtime/Frame;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=7, args_size=3
        start local 0 // sun.jvm.hotspot.runtime.linux_amd64.LinuxAMD64JavaThreadPDAccess this
        start local 1 // sun.jvm.hotspot.runtime.JavaThread thread
        start local 2 // sun.jvm.hotspot.debugger.Address addr
         0: .line 94
            aload 0 /* this */
            aload 2 /* addr */
            invokevirtual sun.jvm.hotspot.runtime.linux_amd64.LinuxAMD64JavaThreadPDAccess.getThreadProxy:(Lsun/jvm/hotspot/debugger/Address;)Lsun/jvm/hotspot/debugger/ThreadProxy;
            astore 3 /* t */
        start local 3 // sun.jvm.hotspot.debugger.ThreadProxy t
         1: .line 95
            aload 3 /* t */
            invokeinterface sun.jvm.hotspot.debugger.ThreadProxy.getContext:()Lsun/jvm/hotspot/debugger/ThreadContext;
            checkcast sun.jvm.hotspot.debugger.amd64.AMD64ThreadContext
            astore 4 /* context */
        start local 4 // sun.jvm.hotspot.debugger.amd64.AMD64ThreadContext context
         2: .line 96
            new sun.jvm.hotspot.runtime.amd64.AMD64CurrentFrameGuess
            dup
            aload 4 /* context */
            aload 1 /* thread */
            invokespecial sun.jvm.hotspot.runtime.amd64.AMD64CurrentFrameGuess.<init>:(Lsun/jvm/hotspot/debugger/amd64/AMD64ThreadContext;Lsun/jvm/hotspot/runtime/JavaThread;)V
            astore 5 /* guesser */
        start local 5 // sun.jvm.hotspot.runtime.amd64.AMD64CurrentFrameGuess guesser
         3: .line 97
            aload 5 /* guesser */
            ldc 131072
            invokevirtual sun.jvm.hotspot.runtime.amd64.AMD64CurrentFrameGuess.run:(J)Z
            ifne 5
         4: .line 98
            aconst_null
            areturn
         5: .line 100
      StackMap locals: sun.jvm.hotspot.debugger.ThreadProxy sun.jvm.hotspot.debugger.amd64.AMD64ThreadContext sun.jvm.hotspot.runtime.amd64.AMD64CurrentFrameGuess
      StackMap stack:
            aload 5 /* guesser */
            invokevirtual sun.jvm.hotspot.runtime.amd64.AMD64CurrentFrameGuess.getPC:()Lsun/jvm/hotspot/debugger/Address;
            ifnonnull 7
         6: .line 101
            new sun.jvm.hotspot.runtime.x86.X86Frame
            dup
            aload 5 /* guesser */
            invokevirtual sun.jvm.hotspot.runtime.amd64.AMD64CurrentFrameGuess.getSP:()Lsun/jvm/hotspot/debugger/Address;
            aload 5 /* guesser */
            invokevirtual sun.jvm.hotspot.runtime.amd64.AMD64CurrentFrameGuess.getFP:()Lsun/jvm/hotspot/debugger/Address;
            invokespecial sun.jvm.hotspot.runtime.x86.X86Frame.<init>:(Lsun/jvm/hotspot/debugger/Address;Lsun/jvm/hotspot/debugger/Address;)V
            areturn
         7: .line 102
      StackMap locals:
      StackMap stack:
            invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
            invokevirtual sun.jvm.hotspot.runtime.VM.getInterpreter:()Lsun/jvm/hotspot/interpreter/Interpreter;
            aload 5 /* guesser */
            invokevirtual sun.jvm.hotspot.runtime.amd64.AMD64CurrentFrameGuess.getPC:()Lsun/jvm/hotspot/debugger/Address;
            invokevirtual sun.jvm.hotspot.interpreter.Interpreter.contains:(Lsun/jvm/hotspot/debugger/Address;)Z
            ifeq 10
         8: .line 104
            aload 4 /* context */
            iconst_2
            invokevirtual sun.jvm.hotspot.debugger.amd64.AMD64ThreadContext.getRegisterAsAddress:(I)Lsun/jvm/hotspot/debugger/Address;
            astore 6 /* bcp */
        start local 6 // sun.jvm.hotspot.debugger.Address bcp
         9: .line 105
            new sun.jvm.hotspot.runtime.x86.X86Frame
            dup
            aload 5 /* guesser */
            invokevirtual sun.jvm.hotspot.runtime.amd64.AMD64CurrentFrameGuess.getSP:()Lsun/jvm/hotspot/debugger/Address;
            aload 5 /* guesser */
            invokevirtual sun.jvm.hotspot.runtime.amd64.AMD64CurrentFrameGuess.getFP:()Lsun/jvm/hotspot/debugger/Address;
            aload 5 /* guesser */
            invokevirtual sun.jvm.hotspot.runtime.amd64.AMD64CurrentFrameGuess.getPC:()Lsun/jvm/hotspot/debugger/Address;
            aconst_null
            aload 6 /* bcp */
            invokespecial sun.jvm.hotspot.runtime.x86.X86Frame.<init>:(Lsun/jvm/hotspot/debugger/Address;Lsun/jvm/hotspot/debugger/Address;Lsun/jvm/hotspot/debugger/Address;Lsun/jvm/hotspot/debugger/Address;Lsun/jvm/hotspot/debugger/Address;)V
            areturn
        end local 6 // sun.jvm.hotspot.debugger.Address bcp
        10: .line 107
      StackMap locals:
      StackMap stack:
            new sun.jvm.hotspot.runtime.x86.X86Frame
            dup
            aload 5 /* guesser */
            invokevirtual sun.jvm.hotspot.runtime.amd64.AMD64CurrentFrameGuess.getSP:()Lsun/jvm/hotspot/debugger/Address;
            aload 5 /* guesser */
            invokevirtual sun.jvm.hotspot.runtime.amd64.AMD64CurrentFrameGuess.getFP:()Lsun/jvm/hotspot/debugger/Address;
            aload 5 /* guesser */
            invokevirtual sun.jvm.hotspot.runtime.amd64.AMD64CurrentFrameGuess.getPC:()Lsun/jvm/hotspot/debugger/Address;
            invokespecial sun.jvm.hotspot.runtime.x86.X86Frame.<init>:(Lsun/jvm/hotspot/debugger/Address;Lsun/jvm/hotspot/debugger/Address;Lsun/jvm/hotspot/debugger/Address;)V
            areturn
        end local 5 // sun.jvm.hotspot.runtime.amd64.AMD64CurrentFrameGuess guesser
        end local 4 // sun.jvm.hotspot.debugger.amd64.AMD64ThreadContext context
        end local 3 // sun.jvm.hotspot.debugger.ThreadProxy t
        end local 2 // sun.jvm.hotspot.debugger.Address addr
        end local 1 // sun.jvm.hotspot.runtime.JavaThread thread
        end local 0 // sun.jvm.hotspot.runtime.linux_amd64.LinuxAMD64JavaThreadPDAccess this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     this  Lsun/jvm/hotspot/runtime/linux_amd64/LinuxAMD64JavaThreadPDAccess;
            0   11     1   thread  Lsun/jvm/hotspot/runtime/JavaThread;
            0   11     2     addr  Lsun/jvm/hotspot/debugger/Address;
            1   11     3        t  Lsun/jvm/hotspot/debugger/ThreadProxy;
            2   11     4  context  Lsun/jvm/hotspot/debugger/amd64/AMD64ThreadContext;
            3   11     5  guesser  Lsun/jvm/hotspot/runtime/amd64/AMD64CurrentFrameGuess;
            9   10     6      bcp  Lsun/jvm/hotspot/debugger/Address;
    MethodParameters:
        Name  Flags
      thread  
      addr    

  public void printThreadIDOn(sun.jvm.hotspot.debugger.Address, java.io.PrintStream);
    descriptor: (Lsun/jvm/hotspot/debugger/Address;Ljava/io/PrintStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // sun.jvm.hotspot.runtime.linux_amd64.LinuxAMD64JavaThreadPDAccess this
        start local 1 // sun.jvm.hotspot.debugger.Address addr
        start local 2 // java.io.PrintStream tty
         0: .line 112
            aload 2 /* tty */
            aload 0 /* this */
            aload 1 /* addr */
            invokevirtual sun.jvm.hotspot.runtime.linux_amd64.LinuxAMD64JavaThreadPDAccess.getThreadProxy:(Lsun/jvm/hotspot/debugger/Address;)Lsun/jvm/hotspot/debugger/ThreadProxy;
            invokevirtual java.io.PrintStream.print:(Ljava/lang/Object;)V
         1: .line 113
            return
        end local 2 // java.io.PrintStream tty
        end local 1 // sun.jvm.hotspot.debugger.Address addr
        end local 0 // sun.jvm.hotspot.runtime.linux_amd64.LinuxAMD64JavaThreadPDAccess this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/jvm/hotspot/runtime/linux_amd64/LinuxAMD64JavaThreadPDAccess;
            0    2     1  addr  Lsun/jvm/hotspot/debugger/Address;
            0    2     2   tty  Ljava/io/PrintStream;
    MethodParameters:
      Name  Flags
      addr  
      tty   

  public void printInfoOn(sun.jvm.hotspot.debugger.Address, java.io.PrintStream);
    descriptor: (Lsun/jvm/hotspot/debugger/Address;Ljava/io/PrintStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // sun.jvm.hotspot.runtime.linux_amd64.LinuxAMD64JavaThreadPDAccess this
        start local 1 // sun.jvm.hotspot.debugger.Address threadAddr
        start local 2 // java.io.PrintStream tty
         0: .line 116
            aload 2 /* tty */
            ldc "Thread id: "
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
         1: .line 117
            aload 0 /* this */
            aload 1 /* threadAddr */
            aload 2 /* tty */
            invokevirtual sun.jvm.hotspot.runtime.linux_amd64.LinuxAMD64JavaThreadPDAccess.printThreadIDOn:(Lsun/jvm/hotspot/debugger/Address;Ljava/io/PrintStream;)V
         2: .line 119
            return
        end local 2 // java.io.PrintStream tty
        end local 1 // sun.jvm.hotspot.debugger.Address threadAddr
        end local 0 // sun.jvm.hotspot.runtime.linux_amd64.LinuxAMD64JavaThreadPDAccess this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lsun/jvm/hotspot/runtime/linux_amd64/LinuxAMD64JavaThreadPDAccess;
            0    3     1  threadAddr  Lsun/jvm/hotspot/debugger/Address;
            0    3     2         tty  Ljava/io/PrintStream;
    MethodParameters:
            Name  Flags
      threadAddr  
      tty         

  public sun.jvm.hotspot.debugger.Address getLastSP(sun.jvm.hotspot.debugger.Address);
    descriptor: (Lsun/jvm/hotspot/debugger/Address;)Lsun/jvm/hotspot/debugger/Address;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // sun.jvm.hotspot.runtime.linux_amd64.LinuxAMD64JavaThreadPDAccess this
        start local 1 // sun.jvm.hotspot.debugger.Address addr
         0: .line 122
            aload 0 /* this */
            aload 1 /* addr */
            invokevirtual sun.jvm.hotspot.runtime.linux_amd64.LinuxAMD64JavaThreadPDAccess.getThreadProxy:(Lsun/jvm/hotspot/debugger/Address;)Lsun/jvm/hotspot/debugger/ThreadProxy;
            astore 2 /* t */
        start local 2 // sun.jvm.hotspot.debugger.ThreadProxy t
         1: .line 123
            aload 2 /* t */
            invokeinterface sun.jvm.hotspot.debugger.ThreadProxy.getContext:()Lsun/jvm/hotspot/debugger/ThreadContext;
            checkcast sun.jvm.hotspot.debugger.amd64.AMD64ThreadContext
            astore 3 /* context */
        start local 3 // sun.jvm.hotspot.debugger.amd64.AMD64ThreadContext context
         2: .line 124
            aload 3 /* context */
            bipush 20
            invokevirtual sun.jvm.hotspot.debugger.amd64.AMD64ThreadContext.getRegisterAsAddress:(I)Lsun/jvm/hotspot/debugger/Address;
            areturn
        end local 3 // sun.jvm.hotspot.debugger.amd64.AMD64ThreadContext context
        end local 2 // sun.jvm.hotspot.debugger.ThreadProxy t
        end local 1 // sun.jvm.hotspot.debugger.Address addr
        end local 0 // sun.jvm.hotspot.runtime.linux_amd64.LinuxAMD64JavaThreadPDAccess this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lsun/jvm/hotspot/runtime/linux_amd64/LinuxAMD64JavaThreadPDAccess;
            0    3     1     addr  Lsun/jvm/hotspot/debugger/Address;
            1    3     2        t  Lsun/jvm/hotspot/debugger/ThreadProxy;
            2    3     3  context  Lsun/jvm/hotspot/debugger/amd64/AMD64ThreadContext;
    MethodParameters:
      Name  Flags
      addr  

  public sun.jvm.hotspot.debugger.ThreadProxy getThreadProxy(sun.jvm.hotspot.debugger.Address);
    descriptor: (Lsun/jvm/hotspot/debugger/Address;)Lsun/jvm/hotspot/debugger/ThreadProxy;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // sun.jvm.hotspot.runtime.linux_amd64.LinuxAMD64JavaThreadPDAccess this
        start local 1 // sun.jvm.hotspot.debugger.Address addr
         0: .line 131
            getstatic sun.jvm.hotspot.runtime.linux_amd64.LinuxAMD64JavaThreadPDAccess.osThreadField:Lsun/jvm/hotspot/types/AddressField;
            aload 1 /* addr */
            invokeinterface sun.jvm.hotspot.types.AddressField.getValue:(Lsun/jvm/hotspot/debugger/Address;)Lsun/jvm/hotspot/debugger/Address;
            astore 2 /* osThreadAddr */
        start local 2 // sun.jvm.hotspot.debugger.Address osThreadAddr
         1: .line 133
            aload 2 /* osThreadAddr */
            getstatic sun.jvm.hotspot.runtime.linux_amd64.LinuxAMD64JavaThreadPDAccess.osThreadThreadIDField:Lsun/jvm/hotspot/types/CIntegerField;
            invokeinterface sun.jvm.hotspot.types.CIntegerField.getOffset:()J
            invokeinterface sun.jvm.hotspot.debugger.Address.addOffsetTo:(J)Lsun/jvm/hotspot/debugger/Address;
            astore 3 /* threadIdAddr */
        start local 3 // sun.jvm.hotspot.debugger.Address threadIdAddr
         2: .line 135
            invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
            invokevirtual sun.jvm.hotspot.runtime.VM.getDebugger:()Lsun/jvm/hotspot/debugger/JVMDebugger;
            astore 4 /* debugger */
        start local 4 // sun.jvm.hotspot.debugger.JVMDebugger debugger
         3: .line 136
            aload 4 /* debugger */
            aload 3 /* threadIdAddr */
            invokeinterface sun.jvm.hotspot.debugger.JVMDebugger.getThreadForIdentifierAddress:(Lsun/jvm/hotspot/debugger/Address;)Lsun/jvm/hotspot/debugger/ThreadProxy;
            areturn
        end local 4 // sun.jvm.hotspot.debugger.JVMDebugger debugger
        end local 3 // sun.jvm.hotspot.debugger.Address threadIdAddr
        end local 2 // sun.jvm.hotspot.debugger.Address osThreadAddr
        end local 1 // sun.jvm.hotspot.debugger.Address addr
        end local 0 // sun.jvm.hotspot.runtime.linux_amd64.LinuxAMD64JavaThreadPDAccess this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lsun/jvm/hotspot/runtime/linux_amd64/LinuxAMD64JavaThreadPDAccess;
            0    4     1          addr  Lsun/jvm/hotspot/debugger/Address;
            1    4     2  osThreadAddr  Lsun/jvm/hotspot/debugger/Address;
            2    4     3  threadIdAddr  Lsun/jvm/hotspot/debugger/Address;
            3    4     4      debugger  Lsun/jvm/hotspot/debugger/JVMDebugger;
    MethodParameters:
      Name  Flags
      addr  
}
SourceFile: "LinuxAMD64JavaThreadPDAccess.java"
NestMembers:
  sun.jvm.hotspot.runtime.linux_amd64.LinuxAMD64JavaThreadPDAccess$1
InnerClasses:
  sun.jvm.hotspot.runtime.linux_amd64.LinuxAMD64JavaThreadPDAccess$1