public final class jdk.tools.jaotc.amd64.AMD64InstructionDecoder extends jdk.tools.jaotc.InstructionDecoder
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: jdk.tools.jaotc.amd64.AMD64InstructionDecoder
  super_class: jdk.tools.jaotc.InstructionDecoder
{
  private boolean targetIs64Bit;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private int currentEndOfInstruction;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 30
            ldc Ljdk/tools/jaotc/amd64/AMD64InstructionDecoder;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic jdk.tools.jaotc.amd64.AMD64InstructionDecoder.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(jdk.vm.ci.code.TargetDescription);
    descriptor: (Ljdk/vm/ci/code/TargetDescription;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.tools.jaotc.amd64.AMD64InstructionDecoder this
        start local 1 // jdk.vm.ci.code.TargetDescription target
         0: .line 77
            aload 0 /* this */
            invokespecial jdk.tools.jaotc.InstructionDecoder.<init>:()V
         1: .line 78
            aload 0 /* this */
            aload 1 /* target */
            getfield jdk.vm.ci.code.TargetDescription.wordSize:I
            bipush 8
            if_icmpne 2
            iconst_1
            goto 3
      StackMap locals: jdk.tools.jaotc.amd64.AMD64InstructionDecoder jdk.vm.ci.code.TargetDescription
      StackMap stack: jdk.tools.jaotc.amd64.AMD64InstructionDecoder
         2: iconst_0
      StackMap locals: jdk.tools.jaotc.amd64.AMD64InstructionDecoder jdk.vm.ci.code.TargetDescription
      StackMap stack: jdk.tools.jaotc.amd64.AMD64InstructionDecoder int
         3: putfield jdk.tools.jaotc.amd64.AMD64InstructionDecoder.targetIs64Bit:Z
         4: .line 79
            return
        end local 1 // jdk.vm.ci.code.TargetDescription target
        end local 0 // jdk.tools.jaotc.amd64.AMD64InstructionDecoder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Ljdk/tools/jaotc/amd64/AMD64InstructionDecoder;
            0    5     1  target  Ljdk/vm/ci/code/TargetDescription;
    MethodParameters:
        Name  Flags
      target  

  public int currentEndOfInstruction();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.tools.jaotc.amd64.AMD64InstructionDecoder this
         0: .line 83
            aload 0 /* this */
            getfield jdk.tools.jaotc.amd64.AMD64InstructionDecoder.currentEndOfInstruction:I
            ireturn
        end local 0 // jdk.tools.jaotc.amd64.AMD64InstructionDecoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/tools/jaotc/amd64/AMD64InstructionDecoder;

  public void decodePosition(byte[], int);
    descriptor: ([BI)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=13, args_size=3
        start local 0 // jdk.tools.jaotc.amd64.AMD64InstructionDecoder this
        start local 1 // byte[] code
        start local 2 // int pcOffset
         0: .line 89
            getstatic jdk.tools.jaotc.amd64.AMD64InstructionDecoder.$assertionsDisabled:Z
            ifne 2
            iload 2 /* pcOffset */
            iflt 1
            iload 2 /* pcOffset */
            aload 1 /* code */
            arraylength
            if_icmplt 2
      StackMap locals:
      StackMap stack:
         1: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 103
      StackMap locals:
      StackMap stack:
            iload 2 /* pcOffset */
            istore 3 /* ip */
        start local 3 // int ip
         3: .line 104
            iconst_0
            istore 4 /* is64bit */
        start local 4 // boolean is64bit
         4: .line 106
            iconst_0
            istore 5 /* hasDisp32 */
        start local 5 // boolean hasDisp32
         5: .line 107
            iconst_0
            istore 6 /* tailSize */
        start local 6 // int tailSize
         6: .line 109
            iconst_1
            istore 7 /* againAfterPrefix */
        start local 7 // boolean againAfterPrefix
         7: .line 111
            goto 129
         8: .line 112
      StackMap locals: jdk.tools.jaotc.amd64.AMD64InstructionDecoder byte[] int int int int int int
      StackMap stack:
            iconst_0
            istore 7 /* againAfterPrefix */
         9: .line 113
            sipush 255
            aload 1 /* code */
            iload 3 /* ip */
            iinc 3 /* ip */ 1
            baload
            iand
            lookupswitch { // 101
                    0: 88
                    1: 88
                    2: 88
                    3: 88
                    8: 88
                    9: 88
                   10: 88
                   11: 88
                   15: 50
                   16: 88
                   17: 88
                   18: 88
                   19: 88
                   24: 88
                   25: 88
                   26: 88
                   27: 88
                   32: 88
                   33: 88
                   34: 88
                   35: 88
                   38: 10
                   40: 88
                   41: 88
                   42: 88
                   43: 88
                   46: 10
                   48: 88
                   49: 88
                   50: 88
                   51: 88
                   54: 10
                   56: 88
                   57: 88
                   58: 88
                   59: 88
                   62: 10
                   64: 14
                   65: 14
                   66: 14
                   67: 14
                   68: 14
                   69: 14
                   70: 14
                   71: 14
                   72: 17
                   73: 17
                   74: 17
                   75: 17
                   76: 17
                   77: 17
                   78: 17
                   79: 17
                  100: 10
                  101: 10
                  102: 25
                  103: 14
                  104: 23
                  105: 47
                  107: 90
                  128: 90
                  129: 78
                  131: 81
                  133: 88
                  135: 88
                  136: 21
                  137: 21
                  138: 21
                  139: 21
                  141: 88
                  143: 21
                  155: 84
                  184: 43
                  185: 43
                  186: 43
                  187: 43
                  188: 43
                  189: 43
                  190: 43
                  191: 43
                  193: 90
                  196: 93
                  197: 93
                  198: 90
                  199: 47
                  209: 116
                  211: 116
                  216: 116
                  217: 116
                  219: 116
                  220: 116
                  221: 116
                  222: 116
                  223: 116
                  232: 114
                  233: 114
                  240: 118
                  242: 120
                  243: 120
                  247: 88
                  255: 21
              default: 128
          }
        10: .line 124
      StackMap locals:
      StackMap stack:
            getstatic jdk.tools.jaotc.amd64.AMD64InstructionDecoder.$assertionsDisabled:Z
            ifne 11
            aload 0 /* this */
            getfield jdk.tools.jaotc.amd64.AMD64InstructionDecoder.targetIs64Bit:Z
            ifeq 11
            new java.lang.AssertionError
            dup
            ldc "shouldn't have that prefix"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        11: .line 125
      StackMap locals:
      StackMap stack:
            getstatic jdk.tools.jaotc.amd64.AMD64InstructionDecoder.$assertionsDisabled:Z
            ifne 12
            iload 3 /* ip */
            iload 2 /* pcOffset */
            iconst_1
            iadd
            if_icmpeq 12
            new java.lang.AssertionError
            dup
            ldc "only one prefix allowed"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        12: .line 126
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 7 /* againAfterPrefix */
        13: .line 127
            goto 129
        14: .line 138
      StackMap locals:
      StackMap stack:
            getstatic jdk.tools.jaotc.amd64.AMD64InstructionDecoder.$assertionsDisabled:Z
            ifne 15
            aload 0 /* this */
            getfield jdk.tools.jaotc.amd64.AMD64InstructionDecoder.targetIs64Bit:Z
            ifne 15
            new java.lang.AssertionError
            dup
            ldc "64bit prefixes"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        15: .line 139
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 7 /* againAfterPrefix */
        16: .line 140
            goto 129
        17: .line 150
      StackMap locals:
      StackMap stack:
            getstatic jdk.tools.jaotc.amd64.AMD64InstructionDecoder.$assertionsDisabled:Z
            ifne 18
            aload 0 /* this */
            getfield jdk.tools.jaotc.amd64.AMD64InstructionDecoder.targetIs64Bit:Z
            ifne 18
            new java.lang.AssertionError
            dup
            ldc "64bit prefixes"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        18: .line 151
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 4 /* is64bit */
        19: .line 152
            iconst_1
            istore 7 /* againAfterPrefix */
        20: .line 153
            goto 129
        21: .line 161
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 5 /* hasDisp32 */
        22: .line 162
            goto 129
        23: .line 165
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 3 /* ip */
            iconst_4
            iadd
            putfield jdk.tools.jaotc.amd64.AMD64InstructionDecoder.currentEndOfInstruction:I
        24: .line 166
            return
        25: .line 169
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 8 /* againAfterSizePrefix2 */
        start local 8 // boolean againAfterSizePrefix2
        26: .line 170
            goto 41
        27: .line 171
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 8 /* againAfterSizePrefix2 */
        28: .line 172
            sipush 255
            aload 1 /* code */
            iload 3 /* ip */
            iinc 3 /* ip */ 1
            baload
            iand
            lookupswitch { // 20
                   15: 37
                   64: 29
                   65: 29
                   66: 29
                   67: 29
                   68: 29
                   69: 29
                   70: 29
                   71: 29
                   72: 29
                   73: 29
                   74: 29
                   75: 29
                   76: 29
                   77: 29
                   78: 29
                   79: 29
                  137: 32
                  139: 32
                  199: 34
              default: 40
          }
        29: .line 189
      StackMap locals:
      StackMap stack:
            getstatic jdk.tools.jaotc.amd64.AMD64InstructionDecoder.$assertionsDisabled:Z
            ifne 30
            aload 0 /* this */
            getfield jdk.tools.jaotc.amd64.AMD64InstructionDecoder.targetIs64Bit:Z
            ifne 30
            new java.lang.AssertionError
            dup
            ldc "64bit prefix found"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        30: .line 190
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 8 /* againAfterSizePrefix2 */
        31: .line 191
            goto 41
        32: .line 194
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 5 /* hasDisp32 */
        33: .line 195
            goto 41
        34: .line 197
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 5 /* hasDisp32 */
        35: .line 198
            iconst_2
            istore 6 /* tailSize */
        36: .line 199
            goto 41
        37: .line 201
      StackMap locals:
      StackMap stack:
            iinc 3 /* ip */ -1
        38: .line 202
            iconst_1
            istore 7 /* againAfterPrefix */
        39: .line 203
            goto 41
        40: .line 205
      StackMap locals:
      StackMap stack:
            new java.lang.InternalError
            dup
            ldc "should not reach here"
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
            athrow
        41: .line 170
      StackMap locals:
      StackMap stack:
            iload 8 /* againAfterSizePrefix2 */
            ifne 27
        42: .line 208
            goto 129
        end local 8 // boolean againAfterSizePrefix2
        43: .line 218
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 3 /* ip */
            iload 4 /* is64bit */
            ifeq 44
            bipush 8
            goto 45
      StackMap locals: jdk.tools.jaotc.amd64.AMD64InstructionDecoder byte[] int int int int int int
      StackMap stack: jdk.tools.jaotc.amd64.AMD64InstructionDecoder int
        44: iconst_4
      StackMap locals: jdk.tools.jaotc.amd64.AMD64InstructionDecoder byte[] int int int int int int
      StackMap stack: jdk.tools.jaotc.amd64.AMD64InstructionDecoder int int
        45: iadd
            putfield jdk.tools.jaotc.amd64.AMD64InstructionDecoder.currentEndOfInstruction:I
        46: .line 219
            return
        47: .line 223
      StackMap locals:
      StackMap stack:
            iconst_4
            istore 6 /* tailSize */
        48: .line 224
            iconst_1
            istore 5 /* hasDisp32 */
        49: .line 225
            goto 129
        50: .line 228
      StackMap locals:
      StackMap stack:
            sipush 255
            aload 1 /* code */
            iload 3 /* ip */
            iinc 3 /* ip */ 1
            baload
            iand
            lookupswitch { // 79
                   18: 63
                   40: 63
                   46: 63
                   47: 63
                   56: 55
                   58: 51
                   64: 65
                   65: 65
                   66: 65
                   67: 65
                   68: 65
                   69: 65
                   70: 65
                   71: 65
                   72: 65
                   73: 65
                   74: 65
                   75: 65
                   76: 65
                   77: 65
                   78: 65
                   79: 65
                   84: 63
                   85: 63
                   86: 63
                   87: 63
                   88: 63
                   89: 63
                  110: 63
                  112: 58
                  115: 61
                  126: 63
                  128: 75
                  129: 75
                  130: 75
                  131: 75
                  132: 75
                  133: 75
                  134: 75
                  135: 75
                  136: 75
                  137: 75
                  138: 75
                  139: 75
                  140: 75
                  141: 75
                  142: 75
                  143: 75
                  144: 65
                  145: 65
                  146: 65
                  147: 65
                  148: 65
                  149: 65
                  150: 65
                  151: 65
                  152: 65
                  153: 65
                  154: 65
                  155: 65
                  156: 65
                  157: 65
                  158: 65
                  159: 65
                  172: 72
                  173: 65
                  174: 63
                  175: 65
                  176: 65
                  177: 65
                  182: 65
                  183: 65
                  190: 65
                  191: 65
                  193: 65
                  196: 67
                  197: 70
                  199: 65
                  254: 63
              default: 77
          }
        51: .line 230
      StackMap locals:
      StackMap stack:
            iinc 3 /* ip */ 1
        52: .line 231
            iconst_1
            istore 6 /* tailSize */
        53: .line 232
            iconst_1
            istore 5 /* hasDisp32 */
        54: .line 233
            goto 129
        55: .line 236
      StackMap locals:
      StackMap stack:
            iinc 3 /* ip */ 1
        56: .line 237
            iconst_1
            istore 5 /* hasDisp32 */
        57: .line 238
            goto 129
        58: .line 241
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 5 /* hasDisp32 */
        59: .line 242
            iconst_1
            istore 6 /* tailSize */
        60: .line 243
            goto 129
        61: .line 246
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 6 /* tailSize */
        62: .line 247
            goto 129
        63: .line 265
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 5 /* hasDisp32 */
        64: .line 266
            goto 129
        65: .line 310
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 5 /* hasDisp32 */
        66: .line 312
            goto 129
        67: .line 315
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 5 /* hasDisp32 */
        68: .line 316
            iconst_1
            istore 6 /* tailSize */
        69: .line 317
            goto 129
        70: .line 320
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 6 /* tailSize */
        71: .line 321
            goto 129
        72: .line 324
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 5 /* hasDisp32 */
        73: .line 325
            iconst_1
            istore 6 /* tailSize */
        74: .line 326
            goto 129
        75: .line 344
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 3 /* ip */
            iconst_4
            iadd
            putfield jdk.tools.jaotc.amd64.AMD64InstructionDecoder.currentEndOfInstruction:I
        76: .line 345
            return
        77: .line 347
      StackMap locals:
      StackMap stack:
            new java.lang.InternalError
            dup
            ldc "should not reach here"
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
            athrow
        78: .line 354
      StackMap locals:
      StackMap stack:
            iconst_4
            istore 6 /* tailSize */
        79: .line 355
            iconst_1
            istore 5 /* hasDisp32 */
        80: .line 356
            goto 129
        81: .line 360
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 5 /* hasDisp32 */
        82: .line 361
            iconst_1
            istore 6 /* tailSize */
        83: .line 362
            goto 129
        84: .line 365
      StackMap locals:
      StackMap stack:
            sipush 255
            aload 1 /* code */
            iload 3 /* ip */
            iinc 3 /* ip */ 1
            baload
            iand
            tableswitch { // 217 - 217
                  217: 85
              default: 87
          }
        85: .line 367
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 5 /* hasDisp32 */
        86: .line 368
            goto 129
        87: .line 370
      StackMap locals:
      StackMap stack:
            new java.lang.InternalError
            dup
            ldc "should not reach here"
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
            athrow
        88: .line 410
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 5 /* hasDisp32 */
        89: .line 411
            goto 129
        90: .line 417
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 5 /* hasDisp32 */
        91: .line 418
            iconst_1
            istore 6 /* tailSize */
        92: .line 419
            goto 129
        93: .line 423
      StackMap locals:
      StackMap stack:
            getstatic jdk.tools.jaotc.amd64.AMD64InstructionDecoder.$assertionsDisabled:Z
            ifne 94
            iload 3 /* ip */
            iload 2 /* pcOffset */
            iconst_1
            iadd
            if_icmpeq 94
            new java.lang.AssertionError
            dup
            ldc "no prefixes allowed"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        94: .line 426
      StackMap locals:
      StackMap stack:
            aload 1 /* code */
            iload 2 /* pcOffset */
            baload
            sipush 255
            iand
            sipush 196
            if_icmpne 101
        95: .line 427
            bipush 31
            aload 1 /* code */
            iload 3 /* ip */
            baload
            iand
            istore 9 /* vex_opcode */
        start local 9 // int vex_opcode
        96: .line 428
            iinc 3 /* ip */ 1
        97: .line 429
            sipush 128
            aload 1 /* code */
            iload 3 /* ip */
            baload
            iand
            sipush 128
            if_icmpne 98
            iconst_1
            goto 99
      StackMap locals: jdk.tools.jaotc.amd64.AMD64InstructionDecoder byte[] int int int int int int top int
      StackMap stack:
        98: iconst_0
      StackMap locals:
      StackMap stack: int
        99: istore 4 /* is64bit */
       100: .line 430
            goto 102
        end local 9 // int vex_opcode
       101: .line 431
      StackMap locals: jdk.tools.jaotc.amd64.AMD64InstructionDecoder byte[] int int int int int int
      StackMap stack:
            iconst_1
            istore 9 /* vex_opcode */
        start local 9 // int vex_opcode
       102: .line 433
      StackMap locals: jdk.tools.jaotc.amd64.AMD64InstructionDecoder byte[] int int int int int int top int
      StackMap stack:
            iinc 3 /* ip */ 1
       103: .line 435
            iload 9 /* vex_opcode */
            tableswitch { // 1 - 3
                    1: 104
                    2: 110
                    3: 108
              default: 110
          }
       104: .line 437
      StackMap locals:
      StackMap stack:
            sipush 255
            aload 1 /* code */
            iload 3 /* ip */
            baload
            iand
            lookupswitch { // 8
                  112: 105
                  113: 105
                  114: 105
                  115: 105
                  194: 105
                  196: 105
                  197: 105
                  198: 105
              default: 107
          }
       105: .line 446
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 6 /* tailSize */
       106: .line 447
            goto 111
       107: .line 451
      StackMap locals:
      StackMap stack:
            goto 111
       108: .line 453
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 6 /* tailSize */
       109: .line 454
            goto 111
       110: .line 456
      StackMap locals:
      StackMap stack:
            new java.lang.InternalError
            dup
            ldc "should not reach here"
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
            athrow
       111: .line 458
      StackMap locals:
      StackMap stack:
            iinc 3 /* ip */ 1
       112: .line 459
            iconst_1
            istore 5 /* hasDisp32 */
       113: .line 460
            goto 129
        end local 9 // int vex_opcode
       114: .line 464
      StackMap locals: jdk.tools.jaotc.amd64.AMD64InstructionDecoder byte[] int int int int int int
      StackMap stack:
            aload 0 /* this */
            iload 3 /* ip */
            iconst_4
            iadd
            putfield jdk.tools.jaotc.amd64.AMD64InstructionDecoder.currentEndOfInstruction:I
       115: .line 465
            return
       116: .line 476
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 5 /* hasDisp32 */
       117: .line 477
            goto 129
       118: .line 480
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 7 /* againAfterPrefix */
       119: .line 481
            goto 129
       120: .line 485
      StackMap locals:
      StackMap stack:
            sipush 255
            aload 1 /* code */
            iload 3 /* ip */
            iinc 3 /* ip */ 1
            baload
            iand
            tableswitch { // 64 - 79
                   64: 121
                   65: 121
                   66: 121
                   67: 121
                   68: 121
                   69: 121
                   70: 121
                   71: 121
                   72: 121
                   73: 121
                   74: 121
                   75: 121
                   76: 121
                   77: 121
                   78: 121
                   79: 121
              default: 125
          }
       121: .line 502
      StackMap locals:
      StackMap stack:
            getstatic jdk.tools.jaotc.amd64.AMD64InstructionDecoder.$assertionsDisabled:Z
            ifne 122
            aload 0 /* this */
            getfield jdk.tools.jaotc.amd64.AMD64InstructionDecoder.targetIs64Bit:Z
            ifne 122
            new java.lang.AssertionError
            dup
            ldc "found 64bit prefix"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
       122: .line 503
      StackMap locals:
      StackMap stack:
            iinc 3 /* ip */ 1
       123: .line 504
            iinc 3 /* ip */ 1
       124: .line 505
            goto 126
       125: .line 507
      StackMap locals:
      StackMap stack:
            iinc 3 /* ip */ 1
       126: .line 509
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 5 /* hasDisp32 */
       127: .line 510
            goto 129
       128: .line 513
      StackMap locals:
      StackMap stack:
            new java.lang.InternalError
            dup
            ldc "should not reach here"
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
            athrow
       129: .line 111
      StackMap locals:
      StackMap stack:
            iload 7 /* againAfterPrefix */
            ifne 8
       130: .line 517
            getstatic jdk.tools.jaotc.amd64.AMD64InstructionDecoder.$assertionsDisabled:Z
            ifne 131
            iload 5 /* hasDisp32 */
            ifne 131
            new java.lang.AssertionError
            dup
            ldc "(tw) not sure if this holds: instruction has no disp32 field"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
       131: .line 520
      StackMap locals:
      StackMap stack:
            sipush 255
            aload 1 /* code */
            iload 3 /* ip */
            iinc 3 /* ip */ 1
            baload
            iand
            istore 8 /* op2 */
        start local 8 // int op2
       132: .line 521
            iload 8 /* op2 */
            bipush 7
            iand
            istore 9 /* base */
        start local 9 // int base
       133: .line 522
            iconst_m1
            istore 10 /* op3 */
        start local 10 // int op3
       134: .line 523
            iconst_4
            istore 11 /* b100 */
        start local 11 // int b100
       135: .line 524
            iconst_5
            istore 12 /* b101 */
        start local 12 // int b101
       136: .line 525
            iload 9 /* base */
            iload 11 /* b100 */
            if_icmpne 139
            iload 8 /* op2 */
            bipush 6
            ishr
            iconst_3
            if_icmpeq 139
       137: .line 526
            sipush 255
            aload 1 /* code */
            iload 3 /* ip */
            iinc 3 /* ip */ 1
            baload
            iand
            istore 10 /* op3 */
       138: .line 527
            iload 10 /* op3 */
            bipush 7
            iand
            istore 9 /* base */
       139: .line 531
      StackMap locals: jdk.tools.jaotc.amd64.AMD64InstructionDecoder byte[] int int int int int int int int int int int
      StackMap stack:
            iload 8 /* op2 */
            bipush 6
            ishr
            tableswitch { // 0 - 3
                    0: 140
                    1: 143
                    2: 145
                    3: 147
              default: 147
          }
       140: .line 538
      StackMap locals:
      StackMap stack:
            iload 9 /* base */
            iload 12 /* b101 */
            if_icmpne 147
       141: .line 539
            iinc 3 /* ip */ 4
       142: .line 541
            goto 147
       143: .line 547
      StackMap locals:
      StackMap stack:
            iinc 3 /* ip */ 1
       144: .line 548
            goto 147
       145: .line 554
      StackMap locals:
      StackMap stack:
            iinc 3 /* ip */ 4
       146: .line 555
            goto 147
       147: .line 562
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 3 /* ip */
            iload 6 /* tailSize */
            iadd
            putfield jdk.tools.jaotc.amd64.AMD64InstructionDecoder.currentEndOfInstruction:I
       148: .line 563
            return
        end local 12 // int b101
        end local 11 // int b100
        end local 10 // int op3
        end local 9 // int base
        end local 8 // int op2
        end local 7 // boolean againAfterPrefix
        end local 6 // int tailSize
        end local 5 // boolean hasDisp32
        end local 4 // boolean is64bit
        end local 3 // int ip
        end local 2 // int pcOffset
        end local 1 // byte[] code
        end local 0 // jdk.tools.jaotc.amd64.AMD64InstructionDecoder this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0  149     0                   this  Ljdk/tools/jaotc/amd64/AMD64InstructionDecoder;
            0  149     1                   code  [B
            0  149     2               pcOffset  I
            3  149     3                     ip  I
            4  149     4                is64bit  Z
            5  149     5              hasDisp32  Z
            6  149     6               tailSize  I
            7  149     7       againAfterPrefix  Z
           26   43     8  againAfterSizePrefix2  Z
           96  101     9             vex_opcode  I
          102  114     9             vex_opcode  I
          132  149     8                    op2  I
          133  149     9                   base  I
          134  149    10                    op3  I
          135  149    11                   b100  I
          136  149    12                   b101  I
    MethodParameters:
          Name  Flags
      code      final
      pcOffset  
}
SourceFile: "AMD64InstructionDecoder.java"
NestMembers:
  jdk.tools.jaotc.amd64.AMD64InstructionDecoder$Prefix  jdk.tools.jaotc.amd64.AMD64InstructionDecoder$VexOpcode  jdk.tools.jaotc.amd64.AMD64InstructionDecoder$VexPrefix
InnerClasses:
  private Prefix = jdk.tools.jaotc.amd64.AMD64InstructionDecoder$Prefix of jdk.tools.jaotc.amd64.AMD64InstructionDecoder
  private VexOpcode = jdk.tools.jaotc.amd64.AMD64InstructionDecoder$VexOpcode of jdk.tools.jaotc.amd64.AMD64InstructionDecoder
  private VexPrefix = jdk.tools.jaotc.amd64.AMD64InstructionDecoder$VexPrefix of jdk.tools.jaotc.amd64.AMD64InstructionDecoder