public class sun.jvm.hotspot.debugger.DebuggerUtilities
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.jvm.hotspot.debugger.DebuggerUtilities
  super_class: java.lang.Object
{
  protected long addressSize;
    descriptor: J
    flags: (0x0004) ACC_PROTECTED

  protected boolean isBigEndian;
    descriptor: Z
    flags: (0x0004) ACC_PROTECTED

  public void <init>(long, boolean);
    descriptor: (JZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // sun.jvm.hotspot.debugger.DebuggerUtilities this
        start local 1 // long addressSize
        start local 3 // boolean isBigEndian
         0: .line 33
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 34
            aload 0 /* this */
            lload 1 /* addressSize */
            putfield sun.jvm.hotspot.debugger.DebuggerUtilities.addressSize:J
         2: .line 35
            aload 0 /* this */
            iload 3 /* isBigEndian */
            putfield sun.jvm.hotspot.debugger.DebuggerUtilities.isBigEndian:Z
         3: .line 36
            return
        end local 3 // boolean isBigEndian
        end local 1 // long addressSize
        end local 0 // sun.jvm.hotspot.debugger.DebuggerUtilities this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lsun/jvm/hotspot/debugger/DebuggerUtilities;
            0    4     1  addressSize  J
            0    4     3  isBigEndian  Z
    MethodParameters:
             Name  Flags
      addressSize  
      isBigEndian  

  public java.lang.String addressValueToString(long);
    descriptor: (J)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=2
        start local 0 // sun.jvm.hotspot.debugger.DebuggerUtilities this
        start local 1 // long address
         0: .line 39
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 3 /* buf */
        start local 3 // java.lang.StringBuffer buf
         1: .line 40
            aload 3 /* buf */
            ldc "0x"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         2: .line 43
            aload 0 /* this */
            getfield sun.jvm.hotspot.debugger.DebuggerUtilities.addressSize:J
            ldc 8
            lcmp
            ifne 5
         3: .line 44
            lload 1 /* address */
            invokestatic java.lang.Long.toHexString:(J)Ljava/lang/String;
            astore 4 /* val */
        start local 4 // java.lang.String val
         4: .line 45
            goto 6
        end local 4 // java.lang.String val
         5: .line 46
      StackMap locals: java.lang.StringBuffer
      StackMap stack:
            lload 1 /* address */
            l2i
            invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
            astore 4 /* val */
        start local 4 // java.lang.String val
         6: .line 48
      StackMap locals: java.lang.String
      StackMap stack:
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         7: goto 10
         8: .line 49
      StackMap locals: int
      StackMap stack:
            aload 3 /* buf */
            bipush 48
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         9: .line 48
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 5 /* i */
            i2l
            ldc 2
            aload 0 /* this */
            getfield sun.jvm.hotspot.debugger.DebuggerUtilities.addressSize:J
            lmul
            aload 4 /* val */
            invokevirtual java.lang.String.length:()I
            i2l
            lsub
            lcmp
            iflt 8
        end local 5 // int i
        11: .line 51
            aload 3 /* buf */
            aload 4 /* val */
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        12: .line 52
            aload 3 /* buf */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 4 // java.lang.String val
        end local 3 // java.lang.StringBuffer buf
        end local 1 // long address
        end local 0 // sun.jvm.hotspot.debugger.DebuggerUtilities this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   13     0     this  Lsun/jvm/hotspot/debugger/DebuggerUtilities;
            0   13     1  address  J
            1   13     3      buf  Ljava/lang/StringBuffer;
            4    5     4      val  Ljava/lang/String;
            6   13     4      val  Ljava/lang/String;
            7   11     5        i  I
    MethodParameters:
         Name  Flags
      address  

  public void checkAlignment(long, long);
    descriptor: (JJ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // sun.jvm.hotspot.debugger.DebuggerUtilities this
        start local 1 // long address
        start local 3 // long alignment
         0: .line 56
            lload 1 /* address */
            lload 3 /* alignment */
            lrem
            lconst_0
            lcmp
            ifeq 6
         1: .line 57
            new sun.jvm.hotspot.debugger.UnalignedAddressException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Trying to read at address: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         2: .line 58
            aload 0 /* this */
            lload 1 /* address */
            invokevirtual sun.jvm.hotspot.debugger.DebuggerUtilities.addressValueToString:(J)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 59
            ldc " with alignment: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            lload 3 /* alignment */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         4: .line 60
            lload 1 /* address */
         5: .line 57
            invokespecial sun.jvm.hotspot.debugger.UnalignedAddressException.<init>:(Ljava/lang/String;J)V
            athrow
         6: .line 62
      StackMap locals:
      StackMap stack:
            return
        end local 3 // long alignment
        end local 1 // long address
        end local 0 // sun.jvm.hotspot.debugger.DebuggerUtilities this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Lsun/jvm/hotspot/debugger/DebuggerUtilities;
            0    7     1    address  J
            0    7     3  alignment  J
    MethodParameters:
           Name  Flags
      address    
      alignment  

  public long scanAddress(java.lang.String);
    descriptor: (Ljava/lang/String;)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // sun.jvm.hotspot.debugger.DebuggerUtilities this
        start local 1 // java.lang.String addrStr
         0: .line 65
            aload 1 /* addrStr */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            astore 2 /* s */
        start local 2 // java.lang.String s
         1: .line 66
            aload 2 /* s */
            ldc "0x"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 3
         2: .line 67
            new java.lang.NumberFormatException
            dup
            aload 1 /* addrStr */
            invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 69
      StackMap locals: java.lang.String
      StackMap stack:
            lconst_0
            lstore 3 /* l */
        start local 3 // long l
         4: .line 70
            iconst_2
            istore 5 /* i */
        start local 5 // int i
         5: goto 10
         6: .line 71
      StackMap locals: long int
      StackMap stack:
            aload 0 /* this */
            aload 2 /* s */
            iload 5 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            invokevirtual sun.jvm.hotspot.debugger.DebuggerUtilities.charToNibble:(C)I
            istore 6 /* val */
        start local 6 // int val
         7: .line 72
            lload 3 /* l */
            iconst_4
            lshl
            lstore 3 /* l */
         8: .line 73
            lload 3 /* l */
            iload 6 /* val */
            i2l
            lor
            lstore 3 /* l */
        end local 6 // int val
         9: .line 70
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 5 /* i */
            aload 2 /* s */
            invokevirtual java.lang.String.length:()I
            if_icmplt 6
        end local 5 // int i
        11: .line 75
            lload 3 /* l */
            lreturn
        end local 3 // long l
        end local 2 // java.lang.String s
        end local 1 // java.lang.String addrStr
        end local 0 // sun.jvm.hotspot.debugger.DebuggerUtilities this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   12     0     this  Lsun/jvm/hotspot/debugger/DebuggerUtilities;
            0   12     1  addrStr  Ljava/lang/String;
            1   12     2        s  Ljava/lang/String;
            4   12     3        l  J
            5   11     5        i  I
            7    9     6      val  I
    Exceptions:
      throws java.lang.NumberFormatException
    MethodParameters:
         Name  Flags
      addrStr  

  public int charToNibble(char);
    descriptor: (C)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // sun.jvm.hotspot.debugger.DebuggerUtilities this
        start local 1 // char ascii
         0: .line 79
            iload 1 /* ascii */
            bipush 48
            if_icmplt 2
            iload 1 /* ascii */
            bipush 57
            if_icmpgt 2
         1: .line 80
            iload 1 /* ascii */
            bipush 48
            isub
            ireturn
         2: .line 81
      StackMap locals:
      StackMap stack:
            iload 1 /* ascii */
            bipush 65
            if_icmplt 4
            iload 1 /* ascii */
            bipush 70
            if_icmpgt 4
         3: .line 82
            bipush 10
            iload 1 /* ascii */
            iadd
            bipush 65
            isub
            ireturn
         4: .line 83
      StackMap locals:
      StackMap stack:
            iload 1 /* ascii */
            bipush 97
            if_icmplt 6
            iload 1 /* ascii */
            bipush 102
            if_icmpgt 6
         5: .line 84
            bipush 10
            iload 1 /* ascii */
            iadd
            bipush 97
            isub
            ireturn
         6: .line 86
      StackMap locals:
      StackMap stack:
            new java.lang.NumberFormatException
            dup
            new java.lang.Character
            dup
            iload 1 /* ascii */
            invokespecial java.lang.Character.<init>:(C)V
            invokevirtual java.lang.Character.toString:()Ljava/lang/String;
            invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // char ascii
        end local 0 // sun.jvm.hotspot.debugger.DebuggerUtilities this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lsun/jvm/hotspot/debugger/DebuggerUtilities;
            0    7     1  ascii  C
    Exceptions:
      throws java.lang.NumberFormatException
    MethodParameters:
       Name  Flags
      ascii  

  public boolean dataToJBoolean(byte[], long);
    descriptor: ([BJ)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // sun.jvm.hotspot.debugger.DebuggerUtilities this
        start local 1 // byte[] data
        start local 2 // long jbooleanSize
         0: .line 90
            aload 0 /* this */
            aload 1 /* data */
            lload 2 /* jbooleanSize */
            invokevirtual sun.jvm.hotspot.debugger.DebuggerUtilities.checkDataContents:([BJ)V
         1: .line 92
            aload 1 /* data */
            iconst_0
            baload
            ifeq 2
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         2: iconst_0
            ireturn
        end local 2 // long jbooleanSize
        end local 1 // byte[] data
        end local 0 // sun.jvm.hotspot.debugger.DebuggerUtilities this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lsun/jvm/hotspot/debugger/DebuggerUtilities;
            0    3     1          data  [B
            0    3     2  jbooleanSize  J
    MethodParameters:
              Name  Flags
      data          
      jbooleanSize  

  public byte dataToJByte(byte[], long);
    descriptor: ([BJ)B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // sun.jvm.hotspot.debugger.DebuggerUtilities this
        start local 1 // byte[] data
        start local 2 // long jbyteSize
         0: .line 96
            aload 0 /* this */
            aload 1 /* data */
            lload 2 /* jbyteSize */
            invokevirtual sun.jvm.hotspot.debugger.DebuggerUtilities.checkDataContents:([BJ)V
         1: .line 98
            aload 1 /* data */
            iconst_0
            baload
            ireturn
        end local 2 // long jbyteSize
        end local 1 // byte[] data
        end local 0 // sun.jvm.hotspot.debugger.DebuggerUtilities this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lsun/jvm/hotspot/debugger/DebuggerUtilities;
            0    2     1       data  [B
            0    2     2  jbyteSize  J
    MethodParameters:
           Name  Flags
      data       
      jbyteSize  

  public char dataToJChar(byte[], long);
    descriptor: ([BJ)C
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // sun.jvm.hotspot.debugger.DebuggerUtilities this
        start local 1 // byte[] data
        start local 2 // long jcharSize
         0: .line 102
            aload 0 /* this */
            aload 1 /* data */
            lload 2 /* jcharSize */
            invokevirtual sun.jvm.hotspot.debugger.DebuggerUtilities.checkDataContents:([BJ)V
         1: .line 104
            aload 0 /* this */
            getfield sun.jvm.hotspot.debugger.DebuggerUtilities.isBigEndian:Z
            ifne 3
         2: .line 105
            aload 0 /* this */
            aload 1 /* data */
            invokevirtual sun.jvm.hotspot.debugger.DebuggerUtilities.byteSwap:([B)V
         3: .line 108
      StackMap locals:
      StackMap stack:
            aload 1 /* data */
            iconst_0
            baload
            sipush 255
            iand
            bipush 8
            ishl
            aload 1 /* data */
            iconst_1
            baload
            sipush 255
            iand
            ior
            i2c
            ireturn
        end local 2 // long jcharSize
        end local 1 // byte[] data
        end local 0 // sun.jvm.hotspot.debugger.DebuggerUtilities this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lsun/jvm/hotspot/debugger/DebuggerUtilities;
            0    4     1       data  [B
            0    4     2  jcharSize  J
    MethodParameters:
           Name  Flags
      data       
      jcharSize  

  public double dataToJDouble(byte[], long);
    descriptor: ([BJ)D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // sun.jvm.hotspot.debugger.DebuggerUtilities this
        start local 1 // byte[] data
        start local 2 // long jdoubleSize
         0: .line 112
            aload 0 /* this */
            aload 1 /* data */
            lload 2 /* jdoubleSize */
            invokevirtual sun.jvm.hotspot.debugger.DebuggerUtilities.dataToJLong:([BJ)J
            lstore 4 /* longBits */
        start local 4 // long longBits
         1: .line 114
            lload 4 /* longBits */
            invokestatic java.lang.Double.longBitsToDouble:(J)D
            dreturn
        end local 4 // long longBits
        end local 2 // long jdoubleSize
        end local 1 // byte[] data
        end local 0 // sun.jvm.hotspot.debugger.DebuggerUtilities this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lsun/jvm/hotspot/debugger/DebuggerUtilities;
            0    2     1         data  [B
            0    2     2  jdoubleSize  J
            1    2     4     longBits  J
    MethodParameters:
             Name  Flags
      data         
      jdoubleSize  

  public float dataToJFloat(byte[], long);
    descriptor: ([BJ)F
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // sun.jvm.hotspot.debugger.DebuggerUtilities this
        start local 1 // byte[] data
        start local 2 // long jfloatSize
         0: .line 118
            aload 0 /* this */
            aload 1 /* data */
            lload 2 /* jfloatSize */
            invokevirtual sun.jvm.hotspot.debugger.DebuggerUtilities.dataToJInt:([BJ)I
            istore 4 /* intBits */
        start local 4 // int intBits
         1: .line 120
            iload 4 /* intBits */
            invokestatic java.lang.Float.intBitsToFloat:(I)F
            freturn
        end local 4 // int intBits
        end local 2 // long jfloatSize
        end local 1 // byte[] data
        end local 0 // sun.jvm.hotspot.debugger.DebuggerUtilities this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lsun/jvm/hotspot/debugger/DebuggerUtilities;
            0    2     1        data  [B
            0    2     2  jfloatSize  J
            1    2     4     intBits  I
    MethodParameters:
            Name  Flags
      data        
      jfloatSize  

  public int dataToJInt(byte[], long);
    descriptor: ([BJ)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // sun.jvm.hotspot.debugger.DebuggerUtilities this
        start local 1 // byte[] data
        start local 2 // long jintSize
         0: .line 124
            aload 0 /* this */
            aload 1 /* data */
            lload 2 /* jintSize */
            invokevirtual sun.jvm.hotspot.debugger.DebuggerUtilities.checkDataContents:([BJ)V
         1: .line 126
            aload 0 /* this */
            getfield sun.jvm.hotspot.debugger.DebuggerUtilities.isBigEndian:Z
            ifne 3
         2: .line 127
            aload 0 /* this */
            aload 1 /* data */
            invokevirtual sun.jvm.hotspot.debugger.DebuggerUtilities.byteSwap:([B)V
         3: .line 130
      StackMap locals:
      StackMap stack:
            aload 1 /* data */
            iconst_0
            baload
            sipush 255
            iand
            bipush 24
            ishl
            aload 1 /* data */
            iconst_1
            baload
            sipush 255
            iand
            bipush 16
            ishl
            ior
            aload 1 /* data */
            iconst_2
            baload
            sipush 255
            iand
            bipush 8
            ishl
            ior
            aload 1 /* data */
            iconst_3
            baload
            sipush 255
            iand
            ior
            ireturn
        end local 2 // long jintSize
        end local 1 // byte[] data
        end local 0 // sun.jvm.hotspot.debugger.DebuggerUtilities this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lsun/jvm/hotspot/debugger/DebuggerUtilities;
            0    4     1      data  [B
            0    4     2  jintSize  J
    MethodParameters:
          Name  Flags
      data      
      jintSize  

  public long dataToJLong(byte[], long);
    descriptor: ([BJ)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // sun.jvm.hotspot.debugger.DebuggerUtilities this
        start local 1 // byte[] data
        start local 2 // long jlongSize
         0: .line 134
            aload 0 /* this */
            aload 1 /* data */
            lload 2 /* jlongSize */
            invokevirtual sun.jvm.hotspot.debugger.DebuggerUtilities.checkDataContents:([BJ)V
         1: .line 136
            aload 0 /* this */
            getfield sun.jvm.hotspot.debugger.DebuggerUtilities.isBigEndian:Z
            ifne 3
         2: .line 137
            aload 0 /* this */
            aload 1 /* data */
            invokevirtual sun.jvm.hotspot.debugger.DebuggerUtilities.byteSwap:([B)V
         3: .line 140
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* data */
            invokevirtual sun.jvm.hotspot.debugger.DebuggerUtilities.rawDataToJLong:([B)J
            lreturn
        end local 2 // long jlongSize
        end local 1 // byte[] data
        end local 0 // sun.jvm.hotspot.debugger.DebuggerUtilities this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lsun/jvm/hotspot/debugger/DebuggerUtilities;
            0    4     1       data  [B
            0    4     2  jlongSize  J
    MethodParameters:
           Name  Flags
      data       
      jlongSize  

  public short dataToJShort(byte[], long);
    descriptor: ([BJ)S
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // sun.jvm.hotspot.debugger.DebuggerUtilities this
        start local 1 // byte[] data
        start local 2 // long jshortSize
         0: .line 144
            aload 0 /* this */
            aload 1 /* data */
            lload 2 /* jshortSize */
            invokevirtual sun.jvm.hotspot.debugger.DebuggerUtilities.checkDataContents:([BJ)V
         1: .line 146
            aload 0 /* this */
            getfield sun.jvm.hotspot.debugger.DebuggerUtilities.isBigEndian:Z
            ifne 3
         2: .line 147
            aload 0 /* this */
            aload 1 /* data */
            invokevirtual sun.jvm.hotspot.debugger.DebuggerUtilities.byteSwap:([B)V
         3: .line 150
      StackMap locals:
      StackMap stack:
            aload 1 /* data */
            iconst_0
            baload
            sipush 255
            iand
            bipush 8
            ishl
            aload 1 /* data */
            iconst_1
            baload
            sipush 255
            iand
            ior
            i2s
            ireturn
        end local 2 // long jshortSize
        end local 1 // byte[] data
        end local 0 // sun.jvm.hotspot.debugger.DebuggerUtilities this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lsun/jvm/hotspot/debugger/DebuggerUtilities;
            0    4     1        data  [B
            0    4     2  jshortSize  J
    MethodParameters:
            Name  Flags
      data        
      jshortSize  

  public long dataToCInteger(byte[], boolean);
    descriptor: ([BZ)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // sun.jvm.hotspot.debugger.DebuggerUtilities this
        start local 1 // byte[] data
        start local 2 // boolean isUnsigned
         0: .line 154
            aload 0 /* this */
            aload 1 /* data */
            aload 1 /* data */
            arraylength
            i2l
            invokevirtual sun.jvm.hotspot.debugger.DebuggerUtilities.checkDataContents:([BJ)V
         1: .line 156
            aload 0 /* this */
            getfield sun.jvm.hotspot.debugger.DebuggerUtilities.isBigEndian:Z
            ifne 3
         2: .line 157
            aload 0 /* this */
            aload 1 /* data */
            invokevirtual sun.jvm.hotspot.debugger.DebuggerUtilities.byteSwap:([B)V
         3: .line 163
      StackMap locals:
      StackMap stack:
            aload 1 /* data */
            arraylength
            bipush 8
            if_icmpge 16
         4: .line 164
            iload 2 /* isUnsigned */
            ifne 16
         5: .line 165
            aload 1 /* data */
            iconst_0
            baload
            sipush 128
            iand
            ifeq 16
         6: .line 167
            bipush 8
            newarray 8
            astore 3 /* newData */
        start local 3 // byte[] newData
         7: .line 168
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         8: goto 14
         9: .line 169
      StackMap locals: byte[] int
      StackMap stack:
            bipush 7
            iload 4 /* i */
            isub
            aload 1 /* data */
            arraylength
            if_icmpge 12
        10: .line 170
            aload 3 /* newData */
            iload 4 /* i */
            aload 1 /* data */
            iload 4 /* i */
            aload 1 /* data */
            arraylength
            iadd
            bipush 8
            isub
            baload
            bastore
        11: .line 171
            goto 13
        12: .line 172
      StackMap locals:
      StackMap stack:
            aload 3 /* newData */
            iload 4 /* i */
            iconst_m1
            bastore
        13: .line 168
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 4 /* i */
            bipush 8
            if_icmplt 9
        end local 4 // int i
        15: .line 175
            aload 3 /* newData */
            astore 1 /* data */
        end local 3 // byte[] newData
        16: .line 179
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* data */
            invokevirtual sun.jvm.hotspot.debugger.DebuggerUtilities.rawDataToJLong:([B)J
            lreturn
        end local 2 // boolean isUnsigned
        end local 1 // byte[] data
        end local 0 // sun.jvm.hotspot.debugger.DebuggerUtilities this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   17     0        this  Lsun/jvm/hotspot/debugger/DebuggerUtilities;
            0   17     1        data  [B
            0   17     2  isUnsigned  Z
            7   16     3     newData  [B
            8   15     4           i  I
    MethodParameters:
            Name  Flags
      data        
      isUnsigned  

  public long dataToAddressValue(byte[]);
    descriptor: ([B)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // sun.jvm.hotspot.debugger.DebuggerUtilities this
        start local 1 // byte[] data
         0: .line 183
            aload 0 /* this */
            aload 1 /* data */
            aload 0 /* this */
            getfield sun.jvm.hotspot.debugger.DebuggerUtilities.addressSize:J
            invokevirtual sun.jvm.hotspot.debugger.DebuggerUtilities.checkDataContents:([BJ)V
         1: .line 185
            aload 0 /* this */
            getfield sun.jvm.hotspot.debugger.DebuggerUtilities.isBigEndian:Z
            ifne 3
         2: .line 186
            aload 0 /* this */
            aload 1 /* data */
            invokevirtual sun.jvm.hotspot.debugger.DebuggerUtilities.byteSwap:([B)V
         3: .line 189
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* data */
            invokevirtual sun.jvm.hotspot.debugger.DebuggerUtilities.rawDataToJLong:([B)J
            lreturn
        end local 1 // byte[] data
        end local 0 // sun.jvm.hotspot.debugger.DebuggerUtilities this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/jvm/hotspot/debugger/DebuggerUtilities;
            0    4     1  data  [B
    MethodParameters:
      Name  Flags
      data  

  public byte[] jbooleanToData(boolean);
    descriptor: (Z)[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // sun.jvm.hotspot.debugger.DebuggerUtilities this
        start local 1 // boolean value
         0: .line 193
            iconst_1
            newarray 8
            astore 2 /* res */
        start local 2 // byte[] res
         1: .line 194
            aload 2 /* res */
            iconst_0
            iload 1 /* value */
            ifeq 2
            iconst_1
            goto 3
      StackMap locals: sun.jvm.hotspot.debugger.DebuggerUtilities int byte[]
      StackMap stack: byte[] int
         2: iconst_0
      StackMap locals: sun.jvm.hotspot.debugger.DebuggerUtilities int byte[]
      StackMap stack: byte[] int int
         3: i2b
            bastore
         4: .line 195
            aload 2 /* res */
            areturn
        end local 2 // byte[] res
        end local 1 // boolean value
        end local 0 // sun.jvm.hotspot.debugger.DebuggerUtilities this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lsun/jvm/hotspot/debugger/DebuggerUtilities;
            0    5     1  value  Z
            1    5     2    res  [B
    MethodParameters:
       Name  Flags
      value  

  public byte[] jbyteToData(byte);
    descriptor: (B)[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // sun.jvm.hotspot.debugger.DebuggerUtilities this
        start local 1 // byte value
         0: .line 199
            iconst_1
            newarray 8
            astore 2 /* res */
        start local 2 // byte[] res
         1: .line 200
            aload 2 /* res */
            iconst_0
            iload 1 /* value */
            bastore
         2: .line 201
            aload 2 /* res */
            areturn
        end local 2 // byte[] res
        end local 1 // byte value
        end local 0 // sun.jvm.hotspot.debugger.DebuggerUtilities this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lsun/jvm/hotspot/debugger/DebuggerUtilities;
            0    3     1  value  B
            1    3     2    res  [B
    MethodParameters:
       Name  Flags
      value  

  public byte[] jcharToData(char);
    descriptor: (C)[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // sun.jvm.hotspot.debugger.DebuggerUtilities this
        start local 1 // char value
         0: .line 205
            iconst_2
            newarray 8
            astore 2 /* res */
        start local 2 // byte[] res
         1: .line 206
            aload 2 /* res */
            iconst_0
            iload 1 /* value */
            bipush 8
            ishr
            sipush 255
            iand
            i2b
            bastore
         2: .line 207
            aload 2 /* res */
            iconst_1
            iload 1 /* value */
            i2b
            bastore
         3: .line 208
            aload 0 /* this */
            getfield sun.jvm.hotspot.debugger.DebuggerUtilities.isBigEndian:Z
            ifne 5
         4: .line 209
            aload 0 /* this */
            aload 2 /* res */
            invokevirtual sun.jvm.hotspot.debugger.DebuggerUtilities.byteSwap:([B)V
         5: .line 211
      StackMap locals: byte[]
      StackMap stack:
            aload 2 /* res */
            areturn
        end local 2 // byte[] res
        end local 1 // char value
        end local 0 // sun.jvm.hotspot.debugger.DebuggerUtilities this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lsun/jvm/hotspot/debugger/DebuggerUtilities;
            0    6     1  value  C
            1    6     2    res  [B
    MethodParameters:
       Name  Flags
      value  

  public byte[] jdoubleToData(double);
    descriptor: (D)[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // sun.jvm.hotspot.debugger.DebuggerUtilities this
        start local 1 // double value
         0: .line 215
            aload 0 /* this */
            dload 1 /* value */
            invokestatic java.lang.Double.doubleToLongBits:(D)J
            invokevirtual sun.jvm.hotspot.debugger.DebuggerUtilities.jlongToData:(J)[B
            areturn
        end local 1 // double value
        end local 0 // sun.jvm.hotspot.debugger.DebuggerUtilities this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lsun/jvm/hotspot/debugger/DebuggerUtilities;
            0    1     1  value  D
    MethodParameters:
       Name  Flags
      value  

  public byte[] jfloatToData(float);
    descriptor: (F)[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.jvm.hotspot.debugger.DebuggerUtilities this
        start local 1 // float value
         0: .line 219
            aload 0 /* this */
            fload 1 /* value */
            invokestatic java.lang.Float.floatToIntBits:(F)I
            invokevirtual sun.jvm.hotspot.debugger.DebuggerUtilities.jintToData:(I)[B
            areturn
        end local 1 // float value
        end local 0 // sun.jvm.hotspot.debugger.DebuggerUtilities this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lsun/jvm/hotspot/debugger/DebuggerUtilities;
            0    1     1  value  F
    MethodParameters:
       Name  Flags
      value  

  public byte[] jintToData(int);
    descriptor: (I)[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // sun.jvm.hotspot.debugger.DebuggerUtilities this
        start local 1 // int value
         0: .line 223
            iconst_4
            newarray 8
            astore 2 /* res */
        start local 2 // byte[] res
         1: .line 224
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 6
         3: .line 225
      StackMap locals: byte[] int
      StackMap stack:
            aload 2 /* res */
            iconst_3
            iload 3 /* i */
            isub
            iload 1 /* value */
            sipush 255
            iand
            i2b
            bastore
         4: .line 226
            iload 1 /* value */
            bipush 8
            iushr
            istore 1 /* value */
         5: .line 224
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            iconst_4
            if_icmplt 3
        end local 3 // int i
         7: .line 228
            aload 0 /* this */
            getfield sun.jvm.hotspot.debugger.DebuggerUtilities.isBigEndian:Z
            ifne 9
         8: .line 229
            aload 0 /* this */
            aload 2 /* res */
            invokevirtual sun.jvm.hotspot.debugger.DebuggerUtilities.byteSwap:([B)V
         9: .line 231
      StackMap locals:
      StackMap stack:
            aload 2 /* res */
            areturn
        end local 2 // byte[] res
        end local 1 // int value
        end local 0 // sun.jvm.hotspot.debugger.DebuggerUtilities this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0   this  Lsun/jvm/hotspot/debugger/DebuggerUtilities;
            0   10     1  value  I
            1   10     2    res  [B
            2    7     3      i  I
    MethodParameters:
       Name  Flags
      value  

  public byte[] jlongToData(long);
    descriptor: (J)[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=2
        start local 0 // sun.jvm.hotspot.debugger.DebuggerUtilities this
        start local 1 // long value
         0: .line 235
            bipush 8
            newarray 8
            astore 3 /* res */
        start local 3 // byte[] res
         1: .line 236
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         2: goto 6
         3: .line 237
      StackMap locals: byte[] int
      StackMap stack:
            aload 3 /* res */
            bipush 7
            iload 4 /* i */
            isub
            lload 1 /* value */
            ldc 255
            land
            l2i
            i2b
            bastore
         4: .line 238
            lload 1 /* value */
            bipush 8
            lushr
            lstore 1 /* value */
         5: .line 236
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 4 /* i */
            bipush 8
            if_icmplt 3
        end local 4 // int i
         7: .line 240
            aload 0 /* this */
            getfield sun.jvm.hotspot.debugger.DebuggerUtilities.isBigEndian:Z
            ifne 9
         8: .line 241
            aload 0 /* this */
            aload 3 /* res */
            invokevirtual sun.jvm.hotspot.debugger.DebuggerUtilities.byteSwap:([B)V
         9: .line 243
      StackMap locals:
      StackMap stack:
            aload 3 /* res */
            areturn
        end local 3 // byte[] res
        end local 1 // long value
        end local 0 // sun.jvm.hotspot.debugger.DebuggerUtilities this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0   this  Lsun/jvm/hotspot/debugger/DebuggerUtilities;
            0   10     1  value  J
            1   10     3    res  [B
            2    7     4      i  I
    MethodParameters:
       Name  Flags
      value  

  public byte[] jshortToData(short);
    descriptor: (S)[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // sun.jvm.hotspot.debugger.DebuggerUtilities this
        start local 1 // short value
         0: .line 247
            iconst_2
            newarray 8
            astore 2 /* res */
        start local 2 // byte[] res
         1: .line 248
            aload 2 /* res */
            iconst_0
            iload 1 /* value */
            bipush 8
            ishr
            sipush 255
            iand
            i2b
            bastore
         2: .line 249
            aload 2 /* res */
            iconst_1
            iload 1 /* value */
            i2b
            bastore
         3: .line 250
            aload 0 /* this */
            getfield sun.jvm.hotspot.debugger.DebuggerUtilities.isBigEndian:Z
            ifne 5
         4: .line 251
            aload 0 /* this */
            aload 2 /* res */
            invokevirtual sun.jvm.hotspot.debugger.DebuggerUtilities.byteSwap:([B)V
         5: .line 253
      StackMap locals: byte[]
      StackMap stack:
            aload 2 /* res */
            areturn
        end local 2 // byte[] res
        end local 1 // short value
        end local 0 // sun.jvm.hotspot.debugger.DebuggerUtilities this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lsun/jvm/hotspot/debugger/DebuggerUtilities;
            0    6     1  value  S
            1    6     2    res  [B
    MethodParameters:
       Name  Flags
      value  

  public byte[] cIntegerToData(long, long);
    descriptor: (JJ)[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=8, args_size=3
        start local 0 // sun.jvm.hotspot.debugger.DebuggerUtilities this
        start local 1 // long longNumBytes
        start local 3 // long value
         0: .line 257
            lload 1 /* longNumBytes */
            l2i
            istore 5 /* numBytes */
        start local 5 // int numBytes
         1: .line 258
            iload 5 /* numBytes */
            newarray 8
            astore 6 /* res */
        start local 6 // byte[] res
         2: .line 259
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         3: goto 7
         4: .line 260
      StackMap locals: int byte[] int
      StackMap stack:
            aload 6 /* res */
            iload 5 /* numBytes */
            iload 7 /* i */
            isub
            iconst_1
            isub
            lload 3 /* value */
            ldc 255
            land
            l2i
            i2b
            bastore
         5: .line 261
            lload 3 /* value */
            bipush 8
            lushr
            lstore 3 /* value */
         6: .line 259
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 7 /* i */
            iload 5 /* numBytes */
            if_icmplt 4
        end local 7 // int i
         8: .line 263
            aload 0 /* this */
            getfield sun.jvm.hotspot.debugger.DebuggerUtilities.isBigEndian:Z
            ifne 10
         9: .line 264
            aload 0 /* this */
            aload 6 /* res */
            invokevirtual sun.jvm.hotspot.debugger.DebuggerUtilities.byteSwap:([B)V
        10: .line 266
      StackMap locals:
      StackMap stack:
            aload 6 /* res */
            areturn
        end local 6 // byte[] res
        end local 5 // int numBytes
        end local 3 // long value
        end local 1 // long longNumBytes
        end local 0 // sun.jvm.hotspot.debugger.DebuggerUtilities this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   11     0          this  Lsun/jvm/hotspot/debugger/DebuggerUtilities;
            0   11     1  longNumBytes  J
            0   11     3         value  J
            1   11     5      numBytes  I
            2   11     6           res  [B
            3    8     7             i  I
    MethodParameters:
              Name  Flags
      longNumBytes  
      value         

  private void checkDataContents(byte[], long);
    descriptor: ([BJ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // sun.jvm.hotspot.debugger.DebuggerUtilities this
        start local 1 // byte[] data
        start local 2 // long len
         0: .line 274
            aload 1 /* data */
            arraylength
            lload 2 /* len */
            l2i
            if_icmpeq 2
         1: .line 275
            new java.lang.InternalError
            dup
            ldc "Bug in Win32Debugger"
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 277
      StackMap locals:
      StackMap stack:
            return
        end local 2 // long len
        end local 1 // byte[] data
        end local 0 // sun.jvm.hotspot.debugger.DebuggerUtilities this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/jvm/hotspot/debugger/DebuggerUtilities;
            0    3     1  data  [B
            0    3     2   len  J
    MethodParameters:
      Name  Flags
      data  
      len   

  private void byteSwap(byte[]);
    descriptor: ([B)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // sun.jvm.hotspot.debugger.DebuggerUtilities this
        start local 1 // byte[] data
         0: .line 280
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: goto 7
         2: .line 281
      StackMap locals: int
      StackMap stack:
            aload 1 /* data */
            arraylength
            iload 2 /* i */
            isub
            iconst_1
            isub
            istore 3 /* altIndex */
        start local 3 // int altIndex
         3: .line 282
            aload 1 /* data */
            iload 3 /* altIndex */
            baload
            istore 4 /* t */
        start local 4 // byte t
         4: .line 283
            aload 1 /* data */
            iload 3 /* altIndex */
            aload 1 /* data */
            iload 2 /* i */
            baload
            bastore
         5: .line 284
            aload 1 /* data */
            iload 2 /* i */
            iload 4 /* t */
            bastore
        end local 4 // byte t
        end local 3 // int altIndex
         6: .line 280
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 2 /* i */
            aload 1 /* data */
            arraylength
            iconst_2
            idiv
            if_icmplt 2
        end local 2 // int i
         8: .line 286
            return
        end local 1 // byte[] data
        end local 0 // sun.jvm.hotspot.debugger.DebuggerUtilities this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Lsun/jvm/hotspot/debugger/DebuggerUtilities;
            0    9     1      data  [B
            1    8     2         i  I
            3    6     3  altIndex  I
            4    6     4         t  B
    MethodParameters:
      Name  Flags
      data  

  private long rawDataToJLong(byte[]);
    descriptor: ([B)J
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // sun.jvm.hotspot.debugger.DebuggerUtilities this
        start local 1 // byte[] data
         0: .line 289
            lconst_0
            lstore 2 /* addr */
        start local 2 // long addr
         1: .line 290
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         2: goto 6
         3: .line 291
      StackMap locals: long int
      StackMap stack:
            lload 2 /* addr */
            bipush 8
            lshl
            lstore 2 /* addr */
         4: .line 292
            lload 2 /* addr */
            aload 1 /* data */
            iload 4 /* i */
            baload
            sipush 255
            iand
            i2l
            lor
            lstore 2 /* addr */
         5: .line 290
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 4 /* i */
            aload 1 /* data */
            arraylength
            if_icmplt 3
        end local 4 // int i
         7: .line 295
            lload 2 /* addr */
            lreturn
        end local 2 // long addr
        end local 1 // byte[] data
        end local 0 // sun.jvm.hotspot.debugger.DebuggerUtilities this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lsun/jvm/hotspot/debugger/DebuggerUtilities;
            0    8     1  data  [B
            1    8     2  addr  J
            2    7     4     i  I
    MethodParameters:
      Name  Flags
      data  
}
SourceFile: "DebuggerUtilities.java"