public class org.graalvm.compiler.bytecode.BytecodeDisassembler
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.bytecode.BytecodeDisassembler
  super_class: java.lang.Object
{
  private final boolean multiline;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean newLine;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(boolean, boolean);
    descriptor: (ZZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.bytecode.BytecodeDisassembler this
        start local 1 // boolean multiline
        start local 2 // boolean newLine
         0: .line 100
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 101
            aload 0 /* this */
            iload 1 /* multiline */
            putfield org.graalvm.compiler.bytecode.BytecodeDisassembler.multiline:Z
         2: .line 102
            aload 0 /* this */
            iload 2 /* newLine */
            putfield org.graalvm.compiler.bytecode.BytecodeDisassembler.newLine:Z
         3: .line 103
            return
        end local 2 // boolean newLine
        end local 1 // boolean multiline
        end local 0 // org.graalvm.compiler.bytecode.BytecodeDisassembler this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lorg/graalvm/compiler/bytecode/BytecodeDisassembler;
            0    4     1  multiline  Z
            0    4     2    newLine  Z
    MethodParameters:
           Name  Flags
      multiline  
      newLine    

  public void <init>(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.bytecode.BytecodeDisassembler this
        start local 1 // boolean multiline
         0: .line 106
            aload 0 /* this */
            iload 1 /* multiline */
            iconst_1
            invokespecial org.graalvm.compiler.bytecode.BytecodeDisassembler.<init>:(ZZ)V
         1: .line 107
            return
        end local 1 // boolean multiline
        end local 0 // org.graalvm.compiler.bytecode.BytecodeDisassembler this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/graalvm/compiler/bytecode/BytecodeDisassembler;
            0    2     1  multiline  Z
    MethodParameters:
           Name  Flags
      multiline  

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.bytecode.BytecodeDisassembler this
         0: .line 110
            aload 0 /* this */
            iconst_1
            iconst_1
            invokespecial org.graalvm.compiler.bytecode.BytecodeDisassembler.<init>:(ZZ)V
         1: .line 111
            return
        end local 0 // org.graalvm.compiler.bytecode.BytecodeDisassembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/bytecode/BytecodeDisassembler;

  public static java.lang.String disassembleOne(jdk.vm.ci.meta.ResolvedJavaMethod, int);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;I)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // jdk.vm.ci.meta.ResolvedJavaMethod method
        start local 1 // int bci
         0: .line 114
            new org.graalvm.compiler.bytecode.BytecodeDisassembler
            dup
            iconst_0
            iconst_0
            invokespecial org.graalvm.compiler.bytecode.BytecodeDisassembler.<init>:(ZZ)V
            aload 0 /* method */
            iload 1 /* bci */
            iload 1 /* bci */
            invokevirtual org.graalvm.compiler.bytecode.BytecodeDisassembler.disassemble:(Ljdk/vm/ci/meta/ResolvedJavaMethod;II)Ljava/lang/String;
            areturn
        end local 1 // int bci
        end local 0 // jdk.vm.ci.meta.ResolvedJavaMethod method
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            0    1     1     bci  I
    MethodParameters:
        Name  Flags
      method  
      bci     

  public java.lang.String disassemble(jdk.vm.ci.meta.ResolvedJavaMethod);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.bytecode.BytecodeDisassembler this
        start local 1 // jdk.vm.ci.meta.ResolvedJavaMethod method
         0: .line 123
            aload 0 /* this */
            aload 1 /* method */
            iconst_0
            ldc 2147483647
            invokevirtual org.graalvm.compiler.bytecode.BytecodeDisassembler.disassemble:(Ljdk/vm/ci/meta/ResolvedJavaMethod;II)Ljava/lang/String;
            areturn
        end local 1 // jdk.vm.ci.meta.ResolvedJavaMethod method
        end local 0 // org.graalvm.compiler.bytecode.BytecodeDisassembler this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/graalvm/compiler/bytecode/BytecodeDisassembler;
            0    1     1  method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
    MethodParameters:
        Name  Flags
      method  

  public java.lang.String disassemble(jdk.vm.ci.meta.ResolvedJavaMethod, int, int);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;II)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.bytecode.BytecodeDisassembler this
        start local 1 // jdk.vm.ci.meta.ResolvedJavaMethod method
        start local 2 // int startBci
        start local 3 // int endBci
         0: .line 132
            aload 0 /* this */
            new org.graalvm.compiler.bytecode.ResolvedJavaMethodBytecode
            dup
            aload 1 /* method */
            invokespecial org.graalvm.compiler.bytecode.ResolvedJavaMethodBytecode.<init>:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)V
            iload 2 /* startBci */
            iload 3 /* endBci */
            invokevirtual org.graalvm.compiler.bytecode.BytecodeDisassembler.disassemble:(Lorg/graalvm/compiler/bytecode/Bytecode;II)Ljava/lang/String;
            areturn
        end local 3 // int endBci
        end local 2 // int startBci
        end local 1 // jdk.vm.ci.meta.ResolvedJavaMethod method
        end local 0 // org.graalvm.compiler.bytecode.BytecodeDisassembler this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/graalvm/compiler/bytecode/BytecodeDisassembler;
            0    1     1    method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            0    1     2  startBci  I
            0    1     3    endBci  I
    MethodParameters:
          Name  Flags
      method    
      startBci  
      endBci    

  public java.lang.String disassemble(org.graalvm.compiler.bytecode.Bytecode);
    descriptor: (Lorg/graalvm/compiler/bytecode/Bytecode;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.bytecode.BytecodeDisassembler this
        start local 1 // org.graalvm.compiler.bytecode.Bytecode code
         0: .line 139
            aload 0 /* this */
            aload 1 /* code */
            iconst_0
            ldc 2147483647
            invokevirtual org.graalvm.compiler.bytecode.BytecodeDisassembler.disassemble:(Lorg/graalvm/compiler/bytecode/Bytecode;II)Ljava/lang/String;
            areturn
        end local 1 // org.graalvm.compiler.bytecode.Bytecode code
        end local 0 // org.graalvm.compiler.bytecode.BytecodeDisassembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/bytecode/BytecodeDisassembler;
            0    1     1  code  Lorg/graalvm/compiler/bytecode/Bytecode;
    MethodParameters:
      Name  Flags
      code  

  public java.lang.String disassemble(org.graalvm.compiler.bytecode.Bytecode, int, int);
    descriptor: (Lorg/graalvm/compiler/bytecode/Bytecode;II)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=11, args_size=4
        start local 0 // org.graalvm.compiler.bytecode.BytecodeDisassembler this
        start local 1 // org.graalvm.compiler.bytecode.Bytecode code
        start local 2 // int startBci
        start local 3 // int endBci
         0: .line 146
            aload 1 /* code */
            invokeinterface org.graalvm.compiler.bytecode.Bytecode.getCode:()[B
            ifnonnull 2
         1: .line 147
            aconst_null
            areturn
         2: .line 149
      StackMap locals:
      StackMap stack:
            aload 1 /* code */
            invokeinterface org.graalvm.compiler.bytecode.Bytecode.getMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
            astore 4 /* method */
        start local 4 // jdk.vm.ci.meta.ResolvedJavaMethod method
         3: .line 150
            aload 1 /* code */
            invokeinterface org.graalvm.compiler.bytecode.Bytecode.getConstantPool:()Ljdk/vm/ci/meta/ConstantPool;
            astore 5 /* cp */
        start local 5 // jdk.vm.ci.meta.ConstantPool cp
         4: .line 151
            new org.graalvm.compiler.bytecode.BytecodeStream
            dup
            aload 1 /* code */
            invokeinterface org.graalvm.compiler.bytecode.Bytecode.getCode:()[B
            invokespecial org.graalvm.compiler.bytecode.BytecodeStream.<init>:([B)V
            astore 6 /* stream */
        start local 6 // org.graalvm.compiler.bytecode.BytecodeStream stream
         5: .line 152
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 7 /* buf */
        start local 7 // java.lang.StringBuilder buf
         6: .line 153
            aload 6 /* stream */
            invokevirtual org.graalvm.compiler.bytecode.BytecodeStream.currentBC:()I
            istore 8 /* opcode */
        start local 8 // int opcode
         7: .line 155
            goto 18
         8: .line 156
      StackMap locals: org.graalvm.compiler.bytecode.BytecodeDisassembler org.graalvm.compiler.bytecode.Bytecode int int jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.ConstantPool org.graalvm.compiler.bytecode.BytecodeStream java.lang.StringBuilder int
      StackMap stack:
            aload 6 /* stream */
            invokevirtual org.graalvm.compiler.bytecode.BytecodeStream.currentBCI:()I
            istore 9 /* bci */
        start local 9 // int bci
         9: .line 157
            iload 9 /* bci */
            iload 2 /* startBci */
            if_icmplt 16
            iload 9 /* bci */
            iload 3 /* endBci */
            if_icmpgt 16
        10: .line 158
            iload 8 /* opcode */
            invokestatic org.graalvm.compiler.bytecode.Bytecodes.nameOf:(I)Ljava/lang/String;
            astore 10 /* mnemonic */
        start local 10 // java.lang.String mnemonic
        11: .line 159
            aload 7 /* buf */
            ldc "%4d: %-14s"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            iload 9 /* bci */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            aload 10 /* mnemonic */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        12: .line 160
            aload 6 /* stream */
            invokevirtual org.graalvm.compiler.bytecode.BytecodeStream.nextBCI:()I
            iload 9 /* bci */
            iconst_1
            iadd
            if_icmple 14
        13: .line 161
            aload 0 /* this */
            aload 7 /* buf */
            aload 6 /* stream */
            aload 5 /* cp */
            aload 4 /* method */
            iload 9 /* bci */
            iload 8 /* opcode */
            invokevirtual org.graalvm.compiler.bytecode.BytecodeDisassembler.decodeOperand:(Ljava/lang/StringBuilder;Lorg/graalvm/compiler/bytecode/BytecodeStream;Ljdk/vm/ci/meta/ConstantPool;Ljdk/vm/ci/meta/ResolvedJavaMethod;II)V
        14: .line 163
      StackMap locals: int java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.bytecode.BytecodeDisassembler.newLine:Z
            ifeq 16
        15: .line 164
            aload 7 /* buf */
            ldc "%n"
            iconst_0
            anewarray java.lang.Object
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 10 // java.lang.String mnemonic
        16: .line 167
      StackMap locals:
      StackMap stack:
            aload 6 /* stream */
            invokevirtual org.graalvm.compiler.bytecode.BytecodeStream.next:()V
        17: .line 168
            aload 6 /* stream */
            invokevirtual org.graalvm.compiler.bytecode.BytecodeStream.currentBC:()I
            istore 8 /* opcode */
        end local 9 // int bci
        18: .line 155
      StackMap locals:
      StackMap stack:
            iload 8 /* opcode */
            sipush 256
            if_icmpne 8
        19: .line 170
            goto 22
      StackMap locals:
      StackMap stack: java.lang.Throwable
        20: astore 9 /* e */
        start local 9 // java.lang.Throwable e
        21: .line 171
            new java.lang.RuntimeException
            dup
            ldc "Error disassembling %s%nPartial disassembly:%n%s"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* method */
            ldc "%H.%n(%p)"
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.format:(Ljava/lang/String;)Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 7 /* buf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            aload 9 /* e */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 9 // java.lang.Throwable e
        22: .line 173
      StackMap locals:
      StackMap stack:
            aload 7 /* buf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 8 // int opcode
        end local 7 // java.lang.StringBuilder buf
        end local 6 // org.graalvm.compiler.bytecode.BytecodeStream stream
        end local 5 // jdk.vm.ci.meta.ConstantPool cp
        end local 4 // jdk.vm.ci.meta.ResolvedJavaMethod method
        end local 3 // int endBci
        end local 2 // int startBci
        end local 1 // org.graalvm.compiler.bytecode.Bytecode code
        end local 0 // org.graalvm.compiler.bytecode.BytecodeDisassembler this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   23     0      this  Lorg/graalvm/compiler/bytecode/BytecodeDisassembler;
            0   23     1      code  Lorg/graalvm/compiler/bytecode/Bytecode;
            0   23     2  startBci  I
            0   23     3    endBci  I
            3   23     4    method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            4   23     5        cp  Ljdk/vm/ci/meta/ConstantPool;
            5   23     6    stream  Lorg/graalvm/compiler/bytecode/BytecodeStream;
            6   23     7       buf  Ljava/lang/StringBuilder;
            7   23     8    opcode  I
            9   18     9       bci  I
           11   16    10  mnemonic  Ljava/lang/String;
           21   22     9         e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           7    19      20  Class java.lang.Throwable
    MethodParameters:
          Name  Flags
      code      
      startBci  
      endBci    

  private void decodeOperand(java.lang.StringBuilder, org.graalvm.compiler.bytecode.BytecodeStream, jdk.vm.ci.meta.ConstantPool, jdk.vm.ci.meta.ResolvedJavaMethod, int, int);
    descriptor: (Ljava/lang/StringBuilder;Lorg/graalvm/compiler/bytecode/BytecodeStream;Ljdk/vm/ci/meta/ConstantPool;Ljdk/vm/ci/meta/ResolvedJavaMethod;II)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=11, args_size=7
        start local 0 // org.graalvm.compiler.bytecode.BytecodeDisassembler this
        start local 1 // java.lang.StringBuilder buf
        start local 2 // org.graalvm.compiler.bytecode.BytecodeStream stream
        start local 3 // jdk.vm.ci.meta.ConstantPool cp
        start local 4 // jdk.vm.ci.meta.ResolvedJavaMethod method
        start local 5 // int bci
        start local 6 // int opcode
         0: .line 178
            iload 6 /* opcode */
            lookupswitch { // 53
                   16: 1
                   17: 2
                   18: 35
                   19: 35
                   20: 35
                   21: 47
                   22: 47
                   23: 47
                   24: 47
                   25: 47
                   54: 47
                   55: 47
                   56: 47
                   57: 47
                   58: 47
                  153: 49
                  154: 49
                  155: 49
                  156: 49
                  157: 49
                  158: 49
                  159: 49
                  160: 49
                  161: 49
                  162: 49
                  163: 49
                  164: 49
                  165: 49
                  166: 49
                  167: 49
                  168: 49
                  169: 47
                  170: 51
                  171: 51
                  178: 7
                  179: 7
                  180: 7
                  181: 7
                  182: 14
                  183: 14
                  184: 14
                  185: 21
                  186: 28
                  187: 3
                  188: 74
                  189: 3
                  192: 3
                  193: 3
                  197: 85
                  198: 49
                  199: 49
                  200: 49
                  201: 49
              default: 88
          }
         1: .line 179
      StackMap locals:
      StackMap stack:
            aload 1 /* buf */
            aload 2 /* stream */
            invokevirtual org.graalvm.compiler.bytecode.BytecodeStream.readByte:()B
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            pop
            goto 88
         2: .line 180
      StackMap locals:
      StackMap stack:
            aload 1 /* buf */
            aload 2 /* stream */
            invokevirtual org.graalvm.compiler.bytecode.BytecodeStream.readShort:()S
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            pop
            goto 88
         3: .line 185
      StackMap locals:
      StackMap stack:
            aload 2 /* stream */
            invokevirtual org.graalvm.compiler.bytecode.BytecodeStream.readCPI:()C
            istore 7 /* cpi */
        start local 7 // int cpi
         4: .line 186
            aload 3 /* cp */
            iload 7 /* cpi */
            iload 6 /* opcode */
            invokeinterface jdk.vm.ci.meta.ConstantPool.lookupType:(II)Ljdk/vm/ci/meta/JavaType;
            astore 8 /* type */
        start local 8 // jdk.vm.ci.meta.JavaType type
         5: .line 187
            aload 1 /* buf */
            ldc "#%-10d // %s"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            iload 7 /* cpi */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            aload 8 /* type */
            invokeinterface jdk.vm.ci.meta.JavaType.toJavaName:()Ljava/lang/String;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         6: .line 188
            goto 88
        end local 8 // jdk.vm.ci.meta.JavaType type
        end local 7 // int cpi
         7: .line 194
      StackMap locals:
      StackMap stack:
            aload 2 /* stream */
            invokevirtual org.graalvm.compiler.bytecode.BytecodeStream.readCPI:()C
            istore 7 /* cpi */
        start local 7 // int cpi
         8: .line 195
            aload 3 /* cp */
            iload 7 /* cpi */
            aload 4 /* method */
            iload 6 /* opcode */
            invokeinterface jdk.vm.ci.meta.ConstantPool.lookupField:(ILjdk/vm/ci/meta/ResolvedJavaMethod;I)Ljdk/vm/ci/meta/JavaField;
            astore 8 /* field */
        start local 8 // jdk.vm.ci.meta.JavaField field
         9: .line 196
            aload 8 /* field */
            invokeinterface jdk.vm.ci.meta.JavaField.getDeclaringClass:()Ljdk/vm/ci/meta/JavaType;
            invokeinterface jdk.vm.ci.meta.JavaType.getName:()Ljava/lang/String;
            aload 4 /* method */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 10
            aload 8 /* field */
            ldc "%n:%T"
            invokeinterface jdk.vm.ci.meta.JavaField.format:(Ljava/lang/String;)Ljava/lang/String;
            goto 11
      StackMap locals: int jdk.vm.ci.meta.JavaField
      StackMap stack:
        10: aload 8 /* field */
            ldc "%H.%n:%T"
            invokeinterface jdk.vm.ci.meta.JavaField.format:(Ljava/lang/String;)Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
        11: astore 9 /* fieldDesc */
        start local 9 // java.lang.String fieldDesc
        12: .line 197
            aload 1 /* buf */
            ldc "#%-10d // %s"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            iload 7 /* cpi */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            aload 9 /* fieldDesc */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        13: .line 198
            goto 88
        end local 9 // java.lang.String fieldDesc
        end local 8 // jdk.vm.ci.meta.JavaField field
        end local 7 // int cpi
        14: .line 203
      StackMap locals:
      StackMap stack:
            aload 2 /* stream */
            invokevirtual org.graalvm.compiler.bytecode.BytecodeStream.readCPI:()C
            istore 7 /* cpi */
        start local 7 // int cpi
        15: .line 204
            aload 3 /* cp */
            iload 7 /* cpi */
            iload 6 /* opcode */
            invokeinterface jdk.vm.ci.meta.ConstantPool.lookupMethod:(II)Ljdk/vm/ci/meta/JavaMethod;
            astore 8 /* callee */
        start local 8 // jdk.vm.ci.meta.JavaMethod callee
        16: .line 205
            aload 8 /* callee */
            invokeinterface jdk.vm.ci.meta.JavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/JavaType;
            invokeinterface jdk.vm.ci.meta.JavaType.getName:()Ljava/lang/String;
            aload 4 /* method */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 17
            aload 8 /* callee */
            ldc "%n:(%P)%R"
            invokeinterface jdk.vm.ci.meta.JavaMethod.format:(Ljava/lang/String;)Ljava/lang/String;
            goto 18
      StackMap locals: int jdk.vm.ci.meta.JavaMethod
      StackMap stack:
        17: aload 8 /* callee */
            ldc "%H.%n:(%P)%R"
            invokeinterface jdk.vm.ci.meta.JavaMethod.format:(Ljava/lang/String;)Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
        18: astore 9 /* calleeDesc */
        start local 9 // java.lang.String calleeDesc
        19: .line 206
            aload 1 /* buf */
            ldc "#%-10d // %s"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            iload 7 /* cpi */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            aload 9 /* calleeDesc */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        20: .line 207
            goto 88
        end local 9 // java.lang.String calleeDesc
        end local 8 // jdk.vm.ci.meta.JavaMethod callee
        end local 7 // int cpi
        21: .line 210
      StackMap locals:
      StackMap stack:
            aload 2 /* stream */
            invokevirtual org.graalvm.compiler.bytecode.BytecodeStream.readCPI:()C
            istore 7 /* cpi */
        start local 7 // int cpi
        22: .line 211
            aload 3 /* cp */
            iload 7 /* cpi */
            iload 6 /* opcode */
            invokeinterface jdk.vm.ci.meta.ConstantPool.lookupMethod:(II)Ljdk/vm/ci/meta/JavaMethod;
            astore 8 /* callee */
        start local 8 // jdk.vm.ci.meta.JavaMethod callee
        23: .line 212
            aload 8 /* callee */
            invokeinterface jdk.vm.ci.meta.JavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/JavaType;
            invokeinterface jdk.vm.ci.meta.JavaType.getName:()Ljava/lang/String;
            aload 4 /* method */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 24
            aload 8 /* callee */
            ldc "%n:(%P)%R"
            invokeinterface jdk.vm.ci.meta.JavaMethod.format:(Ljava/lang/String;)Ljava/lang/String;
            goto 25
      StackMap locals: int jdk.vm.ci.meta.JavaMethod
      StackMap stack:
        24: aload 8 /* callee */
            ldc "%H.%n:(%P)%R"
            invokeinterface jdk.vm.ci.meta.JavaMethod.format:(Ljava/lang/String;)Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
        25: astore 9 /* calleeDesc */
        start local 9 // java.lang.String calleeDesc
        26: .line 213
            aload 1 /* buf */
            ldc "#%-10s // %s"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            new java.lang.StringBuilder
            dup
            iload 7 /* cpi */
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* stream */
            iload 5 /* bci */
            iconst_3
            iadd
            invokevirtual org.graalvm.compiler.bytecode.BytecodeStream.readUByte:(I)I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 9 /* calleeDesc */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        27: .line 214
            goto 88
        end local 9 // java.lang.String calleeDesc
        end local 8 // jdk.vm.ci.meta.JavaMethod callee
        end local 7 // int cpi
        28: .line 217
      StackMap locals:
      StackMap stack:
            aload 2 /* stream */
            invokevirtual org.graalvm.compiler.bytecode.BytecodeStream.readCPI4:()I
            istore 7 /* cpi */
        start local 7 // int cpi
        29: .line 218
            aload 3 /* cp */
            iload 7 /* cpi */
            iload 6 /* opcode */
            invokeinterface jdk.vm.ci.meta.ConstantPool.lookupMethod:(II)Ljdk/vm/ci/meta/JavaMethod;
            astore 8 /* callee */
        start local 8 // jdk.vm.ci.meta.JavaMethod callee
        30: .line 219
            aload 8 /* callee */
            invokeinterface jdk.vm.ci.meta.JavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/JavaType;
            invokeinterface jdk.vm.ci.meta.JavaType.getName:()Ljava/lang/String;
            aload 4 /* method */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 31
            aload 8 /* callee */
            ldc "%n:(%P)%R"
            invokeinterface jdk.vm.ci.meta.JavaMethod.format:(Ljava/lang/String;)Ljava/lang/String;
            goto 32
      StackMap locals: int jdk.vm.ci.meta.JavaMethod
      StackMap stack:
        31: aload 8 /* callee */
            ldc "%H.%n:(%P)%R"
            invokeinterface jdk.vm.ci.meta.JavaMethod.format:(Ljava/lang/String;)Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
        32: astore 9 /* calleeDesc */
        start local 9 // java.lang.String calleeDesc
        33: .line 220
            aload 1 /* buf */
            ldc "#%-10d // %s"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            iload 7 /* cpi */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            aload 9 /* calleeDesc */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        34: .line 221
            goto 88
        end local 9 // java.lang.String calleeDesc
        end local 8 // jdk.vm.ci.meta.JavaMethod callee
        end local 7 // int cpi
        35: .line 226
      StackMap locals:
      StackMap stack:
            aload 2 /* stream */
            invokevirtual org.graalvm.compiler.bytecode.BytecodeStream.readCPI:()C
            istore 7 /* cpi */
        start local 7 // int cpi
        36: .line 227
            aload 3 /* cp */
            iload 7 /* cpi */
            invokeinterface jdk.vm.ci.meta.ConstantPool.lookupConstant:(I)Ljava/lang/Object;
            astore 8 /* constant */
        start local 8 // java.lang.Object constant
        37: .line 228
            aconst_null
            astore 9 /* desc */
        start local 9 // java.lang.String desc
        38: .line 229
            aload 8 /* constant */
            instanceof jdk.vm.ci.meta.JavaConstant
            ifeq 42
        39: .line 230
            aload 8 /* constant */
            checkcast jdk.vm.ci.meta.JavaConstant
            astore 10 /* c */
        start local 10 // jdk.vm.ci.meta.JavaConstant c
        40: .line 231
            aload 10 /* c */
            invokeinterface jdk.vm.ci.meta.JavaConstant.toValueString:()Ljava/lang/String;
            astore 9 /* desc */
        end local 10 // jdk.vm.ci.meta.JavaConstant c
        41: .line 232
            goto 43
        42: .line 233
      StackMap locals: int java.lang.Object java.lang.String
      StackMap stack:
            aload 8 /* constant */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            astore 9 /* desc */
        43: .line 235
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.bytecode.BytecodeDisassembler.multiline:Z
            ifne 45
        44: .line 236
            aload 9 /* desc */
            ldc "\\n"
            ldc ""
            invokevirtual java.lang.String.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 9 /* desc */
        45: .line 238
      StackMap locals:
      StackMap stack:
            aload 1 /* buf */
            ldc "#%-10d // %s"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            iload 7 /* cpi */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            aload 9 /* desc */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        46: .line 239
            goto 88
        end local 9 // java.lang.String desc
        end local 8 // java.lang.Object constant
        end local 7 // int cpi
        47: .line 252
      StackMap locals:
      StackMap stack:
            aload 1 /* buf */
            ldc "%d"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* stream */
            invokevirtual org.graalvm.compiler.bytecode.BytecodeStream.readLocalIndex:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        48: .line 253
            goto 88
        49: .line 275
      StackMap locals:
      StackMap stack:
            aload 1 /* buf */
            ldc "%d"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* stream */
            invokevirtual org.graalvm.compiler.bytecode.BytecodeStream.readBranchDest:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        50: .line 276
            goto 88
        51: .line 280
      StackMap locals:
      StackMap stack:
            iload 6 /* opcode */
            sipush 171
            if_icmpne 52
            new org.graalvm.compiler.bytecode.BytecodeLookupSwitch
            dup
            aload 2 /* stream */
            iload 5 /* bci */
            invokespecial org.graalvm.compiler.bytecode.BytecodeLookupSwitch.<init>:(Lorg/graalvm/compiler/bytecode/BytecodeStream;I)V
            goto 53
      StackMap locals:
      StackMap stack:
        52: new org.graalvm.compiler.bytecode.BytecodeTableSwitch
            dup
            aload 2 /* stream */
            iload 5 /* bci */
            invokespecial org.graalvm.compiler.bytecode.BytecodeTableSwitch.<init>:(Lorg/graalvm/compiler/bytecode/BytecodeStream;I)V
      StackMap locals:
      StackMap stack: org.graalvm.compiler.bytecode.BytecodeSwitch
        53: astore 7 /* bswitch */
        start local 7 // org.graalvm.compiler.bytecode.BytecodeSwitch bswitch
        54: .line 281
            aload 0 /* this */
            getfield org.graalvm.compiler.bytecode.BytecodeDisassembler.multiline:Z
            ifeq 64
        55: .line 282
            aload 1 /* buf */
            new java.lang.StringBuilder
            dup
            ldc "{ // "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* bswitch */
            invokevirtual org.graalvm.compiler.bytecode.BytecodeSwitch.numberOfCases:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        56: .line 283
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        57: goto 60
        58: .line 284
      StackMap locals: org.graalvm.compiler.bytecode.BytecodeSwitch int
      StackMap stack:
            aload 1 /* buf */
            ldc "%n           %7d: %d"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 7 /* bswitch */
            iload 8 /* i */
            invokevirtual org.graalvm.compiler.bytecode.BytecodeSwitch.keyAt:(I)I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            aload 7 /* bswitch */
            iload 8 /* i */
            invokevirtual org.graalvm.compiler.bytecode.BytecodeSwitch.targetAt:(I)I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        59: .line 283
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        60: iload 8 /* i */
            aload 7 /* bswitch */
            invokevirtual org.graalvm.compiler.bytecode.BytecodeSwitch.numberOfCases:()I
            if_icmplt 58
        end local 8 // int i
        61: .line 286
            aload 1 /* buf */
            ldc "%n           default: %d"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 7 /* bswitch */
            invokevirtual org.graalvm.compiler.bytecode.BytecodeSwitch.defaultTarget:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        62: .line 287
            aload 1 /* buf */
            ldc "%n      }"
            iconst_0
            anewarray java.lang.Object
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        63: .line 288
            goto 88
        64: .line 289
      StackMap locals:
      StackMap stack:
            aload 1 /* buf */
            new java.lang.StringBuilder
            dup
            ldc "["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* bswitch */
            invokevirtual org.graalvm.compiler.bytecode.BytecodeSwitch.numberOfCases:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "] {"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        65: .line 290
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        66: goto 71
        67: .line 291
      StackMap locals: int
      StackMap stack:
            aload 1 /* buf */
            ldc "%d: %d"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 7 /* bswitch */
            iload 8 /* i */
            invokevirtual org.graalvm.compiler.bytecode.BytecodeSwitch.keyAt:(I)I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            aload 7 /* bswitch */
            iload 8 /* i */
            invokevirtual org.graalvm.compiler.bytecode.BytecodeSwitch.targetAt:(I)I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        68: .line 292
            iload 8 /* i */
            aload 7 /* bswitch */
            invokevirtual org.graalvm.compiler.bytecode.BytecodeSwitch.numberOfCases:()I
            iconst_1
            isub
            if_icmpeq 70
        69: .line 293
            aload 1 /* buf */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        70: .line 290
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        71: iload 8 /* i */
            aload 7 /* bswitch */
            invokevirtual org.graalvm.compiler.bytecode.BytecodeSwitch.numberOfCases:()I
            if_icmplt 67
        end local 8 // int i
        72: .line 296
            aload 1 /* buf */
            ldc "} default: %d"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 7 /* bswitch */
            invokevirtual org.graalvm.compiler.bytecode.BytecodeSwitch.defaultTarget:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        73: .line 298
            goto 88
        end local 7 // org.graalvm.compiler.bytecode.BytecodeSwitch bswitch
        74: .line 301
      StackMap locals:
      StackMap stack:
            aload 2 /* stream */
            invokevirtual org.graalvm.compiler.bytecode.BytecodeStream.readLocalIndex:()I
            istore 7 /* typecode */
        start local 7 // int typecode
        75: .line 303
            iload 7 /* typecode */
            tableswitch { // 4 - 11
                    4: 76
                    5: 77
                    6: 78
                    7: 79
                    8: 80
                    9: 81
                   10: 82
                   11: 83
              default: 84
          }
        76: .line 304
      StackMap locals: int
      StackMap stack:
            aload 1 /* buf */
            ldc "boolean"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
            goto 88
        77: .line 305
      StackMap locals:
      StackMap stack:
            aload 1 /* buf */
            ldc "char"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
            goto 88
        78: .line 306
      StackMap locals:
      StackMap stack:
            aload 1 /* buf */
            ldc "float"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
            goto 88
        79: .line 307
      StackMap locals:
      StackMap stack:
            aload 1 /* buf */
            ldc "double"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
            goto 88
        80: .line 308
      StackMap locals:
      StackMap stack:
            aload 1 /* buf */
            ldc "byte"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
            goto 88
        81: .line 309
      StackMap locals:
      StackMap stack:
            aload 1 /* buf */
            ldc "short"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
            goto 88
        82: .line 310
      StackMap locals:
      StackMap stack:
            aload 1 /* buf */
            ldc "int"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
            goto 88
        83: .line 311
      StackMap locals:
      StackMap stack:
            aload 1 /* buf */
            ldc "long"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        84: .line 315
      StackMap locals:
      StackMap stack:
            goto 88
        end local 7 // int typecode
        85: .line 318
      StackMap locals:
      StackMap stack:
            aload 2 /* stream */
            invokevirtual org.graalvm.compiler.bytecode.BytecodeStream.readCPI:()C
            istore 7 /* cpi */
        start local 7 // int cpi
        86: .line 319
            aload 3 /* cp */
            iload 7 /* cpi */
            iload 6 /* opcode */
            invokeinterface jdk.vm.ci.meta.ConstantPool.lookupType:(II)Ljdk/vm/ci/meta/JavaType;
            astore 8 /* type */
        start local 8 // jdk.vm.ci.meta.JavaType type
        87: .line 320
            aload 1 /* buf */
            ldc "#%-10s // %s"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            new java.lang.StringBuilder
            dup
            iload 7 /* cpi */
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* stream */
            iload 5 /* bci */
            iconst_3
            iadd
            invokevirtual org.graalvm.compiler.bytecode.BytecodeStream.readUByte:(I)I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 8 /* type */
            invokeinterface jdk.vm.ci.meta.JavaType.toJavaName:()Ljava/lang/String;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 8 // jdk.vm.ci.meta.JavaType type
        end local 7 // int cpi
        88: .line 325
      StackMap locals:
      StackMap stack:
            return
        end local 6 // int opcode
        end local 5 // int bci
        end local 4 // jdk.vm.ci.meta.ResolvedJavaMethod method
        end local 3 // jdk.vm.ci.meta.ConstantPool cp
        end local 2 // org.graalvm.compiler.bytecode.BytecodeStream stream
        end local 1 // java.lang.StringBuilder buf
        end local 0 // org.graalvm.compiler.bytecode.BytecodeDisassembler this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   89     0        this  Lorg/graalvm/compiler/bytecode/BytecodeDisassembler;
            0   89     1         buf  Ljava/lang/StringBuilder;
            0   89     2      stream  Lorg/graalvm/compiler/bytecode/BytecodeStream;
            0   89     3          cp  Ljdk/vm/ci/meta/ConstantPool;
            0   89     4      method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            0   89     5         bci  I
            0   89     6      opcode  I
            4    7     7         cpi  I
            5    7     8        type  Ljdk/vm/ci/meta/JavaType;
            8   14     7         cpi  I
            9   14     8       field  Ljdk/vm/ci/meta/JavaField;
           12   14     9   fieldDesc  Ljava/lang/String;
           15   21     7         cpi  I
           16   21     8      callee  Ljdk/vm/ci/meta/JavaMethod;
           19   21     9  calleeDesc  Ljava/lang/String;
           22   28     7         cpi  I
           23   28     8      callee  Ljdk/vm/ci/meta/JavaMethod;
           26   28     9  calleeDesc  Ljava/lang/String;
           29   35     7         cpi  I
           30   35     8      callee  Ljdk/vm/ci/meta/JavaMethod;
           33   35     9  calleeDesc  Ljava/lang/String;
           36   47     7         cpi  I
           37   47     8    constant  Ljava/lang/Object;
           38   47     9        desc  Ljava/lang/String;
           40   41    10           c  Ljdk/vm/ci/meta/JavaConstant;
           54   74     7     bswitch  Lorg/graalvm/compiler/bytecode/BytecodeSwitch;
           57   61     8           i  I
           66   72     8           i  I
           75   85     7    typecode  I
           86   88     7         cpi  I
           87   88     8        type  Ljdk/vm/ci/meta/JavaType;
    MethodParameters:
        Name  Flags
      buf     
      stream  
      cp      
      method  
      bci     
      opcode  

  public static jdk.vm.ci.meta.JavaMethod getInvokedMethodAt(jdk.vm.ci.meta.ResolvedJavaMethod, int);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;I)Ljdk/vm/ci/meta/JavaMethod;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=8, args_size=2
        start local 0 // jdk.vm.ci.meta.ResolvedJavaMethod method
        start local 1 // int invokeBci
         0: .line 328
            aload 0 /* method */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getCode:()[B
            ifnonnull 2
         1: .line 329
            aconst_null
            areturn
         2: .line 331
      StackMap locals:
      StackMap stack:
            aload 0 /* method */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getConstantPool:()Ljdk/vm/ci/meta/ConstantPool;
            astore 2 /* cp */
        start local 2 // jdk.vm.ci.meta.ConstantPool cp
         3: .line 332
            new org.graalvm.compiler.bytecode.BytecodeStream
            dup
            aload 0 /* method */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getCode:()[B
            invokespecial org.graalvm.compiler.bytecode.BytecodeStream.<init>:([B)V
            astore 3 /* stream */
        start local 3 // org.graalvm.compiler.bytecode.BytecodeStream stream
         4: .line 333
            aload 3 /* stream */
            invokevirtual org.graalvm.compiler.bytecode.BytecodeStream.currentBC:()I
            istore 4 /* opcode */
        start local 4 // int opcode
         5: .line 334
            goto 22
         6: .line 335
      StackMap locals: jdk.vm.ci.meta.ConstantPool org.graalvm.compiler.bytecode.BytecodeStream int
      StackMap stack:
            aload 3 /* stream */
            invokevirtual org.graalvm.compiler.bytecode.BytecodeStream.currentBCI:()I
            istore 5 /* bci */
        start local 5 // int bci
         7: .line 336
            iload 5 /* bci */
            iload 1 /* invokeBci */
            if_icmpne 20
         8: .line 337
            aload 3 /* stream */
            invokevirtual org.graalvm.compiler.bytecode.BytecodeStream.nextBCI:()I
            iload 5 /* bci */
            iconst_1
            iadd
            if_icmple 20
         9: .line 338
            iload 4 /* opcode */
            tableswitch { // 182 - 186
                  182: 10
                  183: 10
                  184: 10
                  185: 13
                  186: 16
              default: 19
          }
        10: .line 342
      StackMap locals: int
      StackMap stack:
            aload 3 /* stream */
            invokevirtual org.graalvm.compiler.bytecode.BytecodeStream.readCPI:()C
            istore 6 /* cpi */
        start local 6 // int cpi
        11: .line 343
            aload 2 /* cp */
            iload 6 /* cpi */
            iload 4 /* opcode */
            invokeinterface jdk.vm.ci.meta.ConstantPool.lookupMethod:(II)Ljdk/vm/ci/meta/JavaMethod;
            astore 7 /* callee */
        start local 7 // jdk.vm.ci.meta.JavaMethod callee
        12: .line 344
            aload 7 /* callee */
            areturn
        end local 7 // jdk.vm.ci.meta.JavaMethod callee
        end local 6 // int cpi
        13: .line 347
      StackMap locals:
      StackMap stack:
            aload 3 /* stream */
            invokevirtual org.graalvm.compiler.bytecode.BytecodeStream.readCPI:()C
            istore 6 /* cpi */
        start local 6 // int cpi
        14: .line 348
            aload 2 /* cp */
            iload 6 /* cpi */
            iload 4 /* opcode */
            invokeinterface jdk.vm.ci.meta.ConstantPool.lookupMethod:(II)Ljdk/vm/ci/meta/JavaMethod;
            astore 7 /* callee */
        start local 7 // jdk.vm.ci.meta.JavaMethod callee
        15: .line 349
            aload 7 /* callee */
            areturn
        end local 7 // jdk.vm.ci.meta.JavaMethod callee
        end local 6 // int cpi
        16: .line 352
      StackMap locals:
      StackMap stack:
            aload 3 /* stream */
            invokevirtual org.graalvm.compiler.bytecode.BytecodeStream.readCPI4:()I
            istore 6 /* cpi */
        start local 6 // int cpi
        17: .line 353
            aload 2 /* cp */
            iload 6 /* cpi */
            iload 4 /* opcode */
            invokeinterface jdk.vm.ci.meta.ConstantPool.lookupMethod:(II)Ljdk/vm/ci/meta/JavaMethod;
            astore 7 /* callee */
        start local 7 // jdk.vm.ci.meta.JavaMethod callee
        18: .line 354
            aload 7 /* callee */
            areturn
        end local 7 // jdk.vm.ci.meta.JavaMethod callee
        end local 6 // int cpi
        19: .line 357
      StackMap locals:
      StackMap stack:
            new java.lang.InternalError
            dup
            aload 0 /* method */
            iload 1 /* invokeBci */
            invokestatic org.graalvm.compiler.bytecode.BytecodeDisassembler.disassembleOne:(Ljdk/vm/ci/meta/ResolvedJavaMethod;I)Ljava/lang/String;
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
            athrow
        20: .line 361
      StackMap locals:
      StackMap stack:
            aload 3 /* stream */
            invokevirtual org.graalvm.compiler.bytecode.BytecodeStream.next:()V
        21: .line 362
            aload 3 /* stream */
            invokevirtual org.graalvm.compiler.bytecode.BytecodeStream.currentBC:()I
            istore 4 /* opcode */
        end local 5 // int bci
        22: .line 334
      StackMap locals:
      StackMap stack:
            iload 4 /* opcode */
            sipush 256
            if_icmpne 6
        23: .line 364
            aconst_null
            areturn
        end local 4 // int opcode
        end local 3 // org.graalvm.compiler.bytecode.BytecodeStream stream
        end local 2 // jdk.vm.ci.meta.ConstantPool cp
        end local 1 // int invokeBci
        end local 0 // jdk.vm.ci.meta.ResolvedJavaMethod method
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   24     0     method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            0   24     1  invokeBci  I
            3   24     2         cp  Ljdk/vm/ci/meta/ConstantPool;
            4   24     3     stream  Lorg/graalvm/compiler/bytecode/BytecodeStream;
            5   24     4     opcode  I
            7   22     5        bci  I
           11   13     6        cpi  I
           12   13     7     callee  Ljdk/vm/ci/meta/JavaMethod;
           14   16     6        cpi  I
           15   16     7     callee  Ljdk/vm/ci/meta/JavaMethod;
           17   19     6        cpi  I
           18   19     7     callee  Ljdk/vm/ci/meta/JavaMethod;
    MethodParameters:
           Name  Flags
      method     
      invokeBci  

  public static int getBytecodeAt(jdk.vm.ci.meta.ResolvedJavaMethod, int);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;I)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // jdk.vm.ci.meta.ResolvedJavaMethod method
        start local 1 // int invokeBci
         0: .line 368
            aload 0 /* method */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getCode:()[B
            ifnonnull 2
         1: .line 369
            iconst_m1
            ireturn
         2: .line 371
      StackMap locals:
      StackMap stack:
            new org.graalvm.compiler.bytecode.BytecodeStream
            dup
            aload 0 /* method */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getCode:()[B
            invokespecial org.graalvm.compiler.bytecode.BytecodeStream.<init>:([B)V
            astore 2 /* stream */
        start local 2 // org.graalvm.compiler.bytecode.BytecodeStream stream
         3: .line 372
            aload 2 /* stream */
            invokevirtual org.graalvm.compiler.bytecode.BytecodeStream.currentBC:()I
            istore 3 /* opcode */
        start local 3 // int opcode
         4: .line 373
            goto 10
         5: .line 374
      StackMap locals: org.graalvm.compiler.bytecode.BytecodeStream int
      StackMap stack:
            aload 2 /* stream */
            invokevirtual org.graalvm.compiler.bytecode.BytecodeStream.currentBCI:()I
            istore 4 /* bci */
        start local 4 // int bci
         6: .line 375
            iload 4 /* bci */
            iload 1 /* invokeBci */
            if_icmpne 8
         7: .line 376
            iload 3 /* opcode */
            ireturn
         8: .line 378
      StackMap locals: int
      StackMap stack:
            aload 2 /* stream */
            invokevirtual org.graalvm.compiler.bytecode.BytecodeStream.next:()V
         9: .line 379
            aload 2 /* stream */
            invokevirtual org.graalvm.compiler.bytecode.BytecodeStream.currentBC:()I
            istore 3 /* opcode */
        end local 4 // int bci
        10: .line 373
      StackMap locals:
      StackMap stack:
            iload 3 /* opcode */
            sipush 256
            if_icmpne 5
        11: .line 381
            iconst_m1
            ireturn
        end local 3 // int opcode
        end local 2 // org.graalvm.compiler.bytecode.BytecodeStream stream
        end local 1 // int invokeBci
        end local 0 // jdk.vm.ci.meta.ResolvedJavaMethod method
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0     method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            0   12     1  invokeBci  I
            3   12     2     stream  Lorg/graalvm/compiler/bytecode/BytecodeStream;
            4   12     3     opcode  I
            6   10     4        bci  I
    MethodParameters:
           Name  Flags
      method     
      invokeBci  
}
SourceFile: "BytecodeDisassembler.java"