public class sun.jvm.hotspot.interpreter.BytecodeLoadConstant extends sun.jvm.hotspot.interpreter.Bytecode
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.jvm.hotspot.interpreter.BytecodeLoadConstant
  super_class: sun.jvm.hotspot.interpreter.Bytecode
{
  void <init>(sun.jvm.hotspot.oops.Method, int);
    descriptor: (Lsun/jvm/hotspot/oops/Method;I)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // sun.jvm.hotspot.interpreter.BytecodeLoadConstant this
        start local 1 // sun.jvm.hotspot.oops.Method method
        start local 2 // int bci
         0: .line 33
            aload 0 /* this */
            aload 1 /* method */
            iload 2 /* bci */
            invokespecial sun.jvm.hotspot.interpreter.Bytecode.<init>:(Lsun/jvm/hotspot/oops/Method;I)V
         1: .line 34
            return
        end local 2 // int bci
        end local 1 // sun.jvm.hotspot.oops.Method method
        end local 0 // sun.jvm.hotspot.interpreter.BytecodeLoadConstant this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lsun/jvm/hotspot/interpreter/BytecodeLoadConstant;
            0    2     1  method  Lsun/jvm/hotspot/oops/Method;
            0    2     2     bci  I
    MethodParameters:
        Name  Flags
      method  
      bci     

  public boolean hasCacheIndex();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.jvm.hotspot.interpreter.BytecodeLoadConstant this
         0: .line 38
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.interpreter.BytecodeLoadConstant.code:()I
            sipush 203
            if_icmplt 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // sun.jvm.hotspot.interpreter.BytecodeLoadConstant this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/jvm/hotspot/interpreter/BytecodeLoadConstant;

  int rawIndex();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.jvm.hotspot.interpreter.BytecodeLoadConstant this
         0: .line 42
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.interpreter.BytecodeLoadConstant.javaCode:()I
            bipush 18
            if_icmpne 2
         1: .line 43
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.interpreter.BytecodeLoadConstant.getIndexU1:()I
            ireturn
         2: .line 45
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.interpreter.BytecodeLoadConstant.code:()I
            iconst_0
            invokevirtual sun.jvm.hotspot.interpreter.BytecodeLoadConstant.getIndexU2:(IZ)I
            ireturn
        end local 0 // sun.jvm.hotspot.interpreter.BytecodeLoadConstant this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/jvm/hotspot/interpreter/BytecodeLoadConstant;

  public int poolIndex();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // sun.jvm.hotspot.interpreter.BytecodeLoadConstant this
         0: .line 49
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.interpreter.BytecodeLoadConstant.rawIndex:()I
            istore 1 /* index */
        start local 1 // int index
         1: .line 50
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.interpreter.BytecodeLoadConstant.hasCacheIndex:()Z
            ifeq 3
         2: .line 51
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.interpreter.BytecodeLoadConstant.method:()Lsun/jvm/hotspot/oops/Method;
            invokevirtual sun.jvm.hotspot.oops.Method.getConstants:()Lsun/jvm/hotspot/oops/ConstantPool;
            iload 1 /* index */
            invokevirtual sun.jvm.hotspot.oops.ConstantPool.objectToCPIndex:(I)I
            ireturn
         3: .line 53
      StackMap locals: int
      StackMap stack:
            iload 1 /* index */
            ireturn
        end local 1 // int index
        end local 0 // sun.jvm.hotspot.interpreter.BytecodeLoadConstant this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lsun/jvm/hotspot/interpreter/BytecodeLoadConstant;
            1    4     1  index  I

  public int cacheIndex();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.jvm.hotspot.interpreter.BytecodeLoadConstant this
         0: .line 58
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.interpreter.BytecodeLoadConstant.hasCacheIndex:()Z
            ifeq 2
         1: .line 59
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.interpreter.BytecodeLoadConstant.rawIndex:()I
            ireturn
         2: .line 61
      StackMap locals:
      StackMap stack:
            iconst_m1
            ireturn
        end local 0 // sun.jvm.hotspot.interpreter.BytecodeLoadConstant this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/jvm/hotspot/interpreter/BytecodeLoadConstant;

  public sun.jvm.hotspot.runtime.BasicType resultType();
    descriptor: ()Lsun/jvm/hotspot/runtime/BasicType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // sun.jvm.hotspot.interpreter.BytecodeLoadConstant this
         0: .line 66
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.interpreter.BytecodeLoadConstant.poolIndex:()I
            istore 1 /* index */
        start local 1 // int index
         1: .line 67
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.interpreter.BytecodeLoadConstant.method:()Lsun/jvm/hotspot/oops/Method;
            invokevirtual sun.jvm.hotspot.oops.Method.getConstants:()Lsun/jvm/hotspot/oops/ConstantPool;
            iload 1 /* index */
            i2l
            invokevirtual sun.jvm.hotspot.oops.ConstantPool.getTagAt:(J)Lsun/jvm/hotspot/utilities/ConstantTag;
            astore 2 /* tag */
        start local 2 // sun.jvm.hotspot.utilities.ConstantTag tag
         2: .line 68
            aload 2 /* tag */
            invokevirtual sun.jvm.hotspot.utilities.ConstantTag.basicType:()Lsun/jvm/hotspot/runtime/BasicType;
            areturn
        end local 2 // sun.jvm.hotspot.utilities.ConstantTag tag
        end local 1 // int index
        end local 0 // sun.jvm.hotspot.interpreter.BytecodeLoadConstant this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lsun/jvm/hotspot/interpreter/BytecodeLoadConstant;
            1    3     1  index  I
            2    3     2    tag  Lsun/jvm/hotspot/utilities/ConstantTag;

  private sun.jvm.hotspot.oops.Oop getCachedConstant();
    descriptor: ()Lsun/jvm/hotspot/oops/Oop;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // sun.jvm.hotspot.interpreter.BytecodeLoadConstant this
         0: .line 72
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.interpreter.BytecodeLoadConstant.cacheIndex:()I
            istore 1 /* i */
        start local 1 // int i
         1: .line 73
            iload 1 /* i */
            iflt 3
         2: .line 74
            new java.lang.InternalError
            dup
            ldc "invokedynamic not implemented yet"
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 76
      StackMap locals: int
      StackMap stack:
            aconst_null
            areturn
        end local 1 // int i
        end local 0 // sun.jvm.hotspot.interpreter.BytecodeLoadConstant this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/jvm/hotspot/interpreter/BytecodeLoadConstant;
            1    4     1     i  I

  public void verify();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.jvm.hotspot.interpreter.BytecodeLoadConstant this
         0: .line 80
            getstatic sun.jvm.hotspot.utilities.Assert.ASSERTS_ENABLED:Z
            ifeq 2
         1: .line 81
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.interpreter.BytecodeLoadConstant.isValid:()Z
            ldc "check load constant"
            invokestatic sun.jvm.hotspot.utilities.Assert.that:(ZLjava/lang/String;)V
         2: .line 83
      StackMap locals:
      StackMap stack:
            return
        end local 0 // sun.jvm.hotspot.interpreter.BytecodeLoadConstant this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/jvm/hotspot/interpreter/BytecodeLoadConstant;

  public boolean isValid();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // sun.jvm.hotspot.interpreter.BytecodeLoadConstant this
         0: .line 86
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.interpreter.BytecodeLoadConstant.javaCode:()I
            istore 1 /* jcode */
        start local 1 // int jcode
         1: .line 87
            iload 1 /* jcode */
            bipush 18
            if_icmpeq 4
            iload 1 /* jcode */
            bipush 19
            if_icmpeq 4
         2: .line 88
            iload 1 /* jcode */
            bipush 20
            if_icmpeq 4
         3: .line 87
            iconst_0
            goto 5
      StackMap locals: int
      StackMap stack:
         4: iconst_1
      StackMap locals:
      StackMap stack: int
         5: istore 2 /* codeOk */
        start local 2 // boolean codeOk
         6: .line 89
            iload 2 /* codeOk */
            ifne 7
            iconst_0
            ireturn
         7: .line 91
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.interpreter.BytecodeLoadConstant.method:()Lsun/jvm/hotspot/oops/Method;
            invokevirtual sun.jvm.hotspot.oops.Method.getConstants:()Lsun/jvm/hotspot/oops/ConstantPool;
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.interpreter.BytecodeLoadConstant.poolIndex:()I
            i2l
            invokevirtual sun.jvm.hotspot.oops.ConstantPool.getTagAt:(J)Lsun/jvm/hotspot/utilities/ConstantTag;
            astore 3 /* ctag */
        start local 3 // sun.jvm.hotspot.utilities.ConstantTag ctag
         8: .line 92
            iload 1 /* jcode */
            bipush 20
            if_icmpne 13
         9: .line 94
            aload 3 /* ctag */
            invokevirtual sun.jvm.hotspot.utilities.ConstantTag.isDouble:()Z
            ifne 10
            aload 3 /* ctag */
            invokevirtual sun.jvm.hotspot.utilities.ConstantTag.isLong:()Z
            ifeq 11
      StackMap locals: sun.jvm.hotspot.utilities.ConstantTag
      StackMap stack:
        10: iconst_1
            goto 12
      StackMap locals:
      StackMap stack:
        11: iconst_0
      StackMap locals:
      StackMap stack: int
        12: ireturn
        13: .line 97
      StackMap locals:
      StackMap stack:
            aload 3 /* ctag */
            invokevirtual sun.jvm.hotspot.utilities.ConstantTag.isString:()Z
            ifne 17
        14: .line 98
            aload 3 /* ctag */
            invokevirtual sun.jvm.hotspot.utilities.ConstantTag.isUnresolvedKlass:()Z
            ifne 17
            aload 3 /* ctag */
            invokevirtual sun.jvm.hotspot.utilities.ConstantTag.isKlass:()Z
            ifne 17
        15: .line 99
            aload 3 /* ctag */
            invokevirtual sun.jvm.hotspot.utilities.ConstantTag.isMethodHandle:()Z
            ifne 17
            aload 3 /* ctag */
            invokevirtual sun.jvm.hotspot.utilities.ConstantTag.isMethodType:()Z
            ifne 17
        16: .line 100
            aload 3 /* ctag */
            invokevirtual sun.jvm.hotspot.utilities.ConstantTag.isInt:()Z
            ifne 17
            aload 3 /* ctag */
            invokevirtual sun.jvm.hotspot.utilities.ConstantTag.isFloat:()Z
            ifeq 18
      StackMap locals:
      StackMap stack:
        17: iconst_1
            goto 19
      StackMap locals:
      StackMap stack:
        18: iconst_0
        19: .line 97
      StackMap locals:
      StackMap stack: int
            ireturn
        end local 3 // sun.jvm.hotspot.utilities.ConstantTag ctag
        end local 2 // boolean codeOk
        end local 1 // int jcode
        end local 0 // sun.jvm.hotspot.interpreter.BytecodeLoadConstant this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   20     0    this  Lsun/jvm/hotspot/interpreter/BytecodeLoadConstant;
            1   20     1   jcode  I
            6   20     2  codeOk  Z
            8   20     3    ctag  Lsun/jvm/hotspot/utilities/ConstantTag;

  public boolean isKlassConstant();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // sun.jvm.hotspot.interpreter.BytecodeLoadConstant this
         0: .line 105
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.interpreter.BytecodeLoadConstant.javaCode:()I
            istore 1 /* jcode */
        start local 1 // int jcode
         1: .line 106
            iload 1 /* jcode */
            bipush 20
            if_icmpne 3
         2: .line 107
            iconst_0
            ireturn
         3: .line 110
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.interpreter.BytecodeLoadConstant.method:()Lsun/jvm/hotspot/oops/Method;
            invokevirtual sun.jvm.hotspot.oops.Method.getConstants:()Lsun/jvm/hotspot/oops/ConstantPool;
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.interpreter.BytecodeLoadConstant.poolIndex:()I
            i2l
            invokevirtual sun.jvm.hotspot.oops.ConstantPool.getTagAt:(J)Lsun/jvm/hotspot/utilities/ConstantTag;
            astore 2 /* ctag */
        start local 2 // sun.jvm.hotspot.utilities.ConstantTag ctag
         4: .line 111
            aload 2 /* ctag */
            invokevirtual sun.jvm.hotspot.utilities.ConstantTag.isKlass:()Z
            ifne 5
            aload 2 /* ctag */
            invokevirtual sun.jvm.hotspot.utilities.ConstantTag.isUnresolvedKlass:()Z
            ifne 5
            iconst_0
            ireturn
      StackMap locals: sun.jvm.hotspot.utilities.ConstantTag
      StackMap stack:
         5: iconst_1
            ireturn
        end local 2 // sun.jvm.hotspot.utilities.ConstantTag ctag
        end local 1 // int jcode
        end local 0 // sun.jvm.hotspot.interpreter.BytecodeLoadConstant this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lsun/jvm/hotspot/interpreter/BytecodeLoadConstant;
            1    6     1  jcode  I
            4    6     2   ctag  Lsun/jvm/hotspot/utilities/ConstantTag;

  public java.lang.Object getKlass();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // sun.jvm.hotspot.interpreter.BytecodeLoadConstant this
         0: .line 116
            getstatic sun.jvm.hotspot.utilities.Assert.ASSERTS_ENABLED:Z
            ifeq 2
         1: .line 117
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.interpreter.BytecodeLoadConstant.isKlassConstant:()Z
            ldc "not a klass literal"
            invokestatic sun.jvm.hotspot.utilities.Assert.that:(ZLjava/lang/String;)V
         2: .line 122
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.interpreter.BytecodeLoadConstant.method:()Lsun/jvm/hotspot/oops/Method;
            invokevirtual sun.jvm.hotspot.oops.Method.getConstants:()Lsun/jvm/hotspot/oops/ConstantPool;
            astore 1 /* cpool */
        start local 1 // sun.jvm.hotspot.oops.ConstantPool cpool
         3: .line 123
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.interpreter.BytecodeLoadConstant.poolIndex:()I
            istore 2 /* cpIndex */
        start local 2 // int cpIndex
         4: .line 124
            aload 1 /* cpool */
            iload 2 /* cpIndex */
            invokevirtual sun.jvm.hotspot.oops.ConstantPool.getKlassNameAt:(I)Lsun/jvm/hotspot/oops/Symbol;
            areturn
        end local 2 // int cpIndex
        end local 1 // sun.jvm.hotspot.oops.ConstantPool cpool
        end local 0 // sun.jvm.hotspot.interpreter.BytecodeLoadConstant this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lsun/jvm/hotspot/interpreter/BytecodeLoadConstant;
            3    5     1    cpool  Lsun/jvm/hotspot/oops/ConstantPool;
            4    5     2  cpIndex  I

  public static sun.jvm.hotspot.interpreter.BytecodeLoadConstant at(sun.jvm.hotspot.oops.Method, int);
    descriptor: (Lsun/jvm/hotspot/oops/Method;I)Lsun/jvm/hotspot/interpreter/BytecodeLoadConstant;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // sun.jvm.hotspot.oops.Method method
        start local 1 // int bci
         0: .line 128
            new sun.jvm.hotspot.interpreter.BytecodeLoadConstant
            dup
            aload 0 /* method */
            iload 1 /* bci */
            invokespecial sun.jvm.hotspot.interpreter.BytecodeLoadConstant.<init>:(Lsun/jvm/hotspot/oops/Method;I)V
            astore 2 /* b */
        start local 2 // sun.jvm.hotspot.interpreter.BytecodeLoadConstant b
         1: .line 129
            getstatic sun.jvm.hotspot.utilities.Assert.ASSERTS_ENABLED:Z
            ifeq 3
         2: .line 130
            aload 2 /* b */
            invokevirtual sun.jvm.hotspot.interpreter.BytecodeLoadConstant.verify:()V
         3: .line 132
      StackMap locals: sun.jvm.hotspot.interpreter.BytecodeLoadConstant
      StackMap stack:
            aload 2 /* b */
            areturn
        end local 2 // sun.jvm.hotspot.interpreter.BytecodeLoadConstant b
        end local 1 // int bci
        end local 0 // sun.jvm.hotspot.oops.Method method
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0  method  Lsun/jvm/hotspot/oops/Method;
            0    4     1     bci  I
            1    4     2       b  Lsun/jvm/hotspot/interpreter/BytecodeLoadConstant;
    MethodParameters:
        Name  Flags
      method  
      bci     

  public static sun.jvm.hotspot.interpreter.BytecodeLoadConstant atCheck(sun.jvm.hotspot.oops.Method, int);
    descriptor: (Lsun/jvm/hotspot/oops/Method;I)Lsun/jvm/hotspot/interpreter/BytecodeLoadConstant;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // sun.jvm.hotspot.oops.Method method
        start local 1 // int bci
         0: .line 137
            new sun.jvm.hotspot.interpreter.BytecodeLoadConstant
            dup
            aload 0 /* method */
            iload 1 /* bci */
            invokespecial sun.jvm.hotspot.interpreter.BytecodeLoadConstant.<init>:(Lsun/jvm/hotspot/oops/Method;I)V
            astore 2 /* b */
        start local 2 // sun.jvm.hotspot.interpreter.BytecodeLoadConstant b
         1: .line 138
            aload 2 /* b */
            invokevirtual sun.jvm.hotspot.interpreter.BytecodeLoadConstant.isValid:()Z
            ifeq 2
            aload 2 /* b */
            goto 3
      StackMap locals: sun.jvm.hotspot.interpreter.BytecodeLoadConstant
      StackMap stack:
         2: aconst_null
      StackMap locals:
      StackMap stack: sun.jvm.hotspot.interpreter.BytecodeLoadConstant
         3: areturn
        end local 2 // sun.jvm.hotspot.interpreter.BytecodeLoadConstant b
        end local 1 // int bci
        end local 0 // sun.jvm.hotspot.oops.Method method
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0  method  Lsun/jvm/hotspot/oops/Method;
            0    4     1     bci  I
            1    4     2       b  Lsun/jvm/hotspot/interpreter/BytecodeLoadConstant;
    MethodParameters:
        Name  Flags
      method  
      bci     

  public static sun.jvm.hotspot.interpreter.BytecodeLoadConstant at(sun.jvm.hotspot.interpreter.BytecodeStream);
    descriptor: (Lsun/jvm/hotspot/interpreter/BytecodeStream;)Lsun/jvm/hotspot/interpreter/BytecodeLoadConstant;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // sun.jvm.hotspot.interpreter.BytecodeStream bcs
         0: .line 142
            new sun.jvm.hotspot.interpreter.BytecodeLoadConstant
            dup
            aload 0 /* bcs */
            invokevirtual sun.jvm.hotspot.interpreter.BytecodeStream.method:()Lsun/jvm/hotspot/oops/Method;
            aload 0 /* bcs */
            invokevirtual sun.jvm.hotspot.interpreter.BytecodeStream.bci:()I
            invokespecial sun.jvm.hotspot.interpreter.BytecodeLoadConstant.<init>:(Lsun/jvm/hotspot/oops/Method;I)V
            areturn
        end local 0 // sun.jvm.hotspot.interpreter.BytecodeStream bcs
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   bcs  Lsun/jvm/hotspot/interpreter/BytecodeStream;
    MethodParameters:
      Name  Flags
      bcs   

  public java.lang.String getConstantValue();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=1
        start local 0 // sun.jvm.hotspot.interpreter.BytecodeLoadConstant this
         0: .line 146
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.interpreter.BytecodeLoadConstant.method:()Lsun/jvm/hotspot/oops/Method;
            invokevirtual sun.jvm.hotspot.oops.Method.getConstants:()Lsun/jvm/hotspot/oops/ConstantPool;
            astore 1 /* cpool */
        start local 1 // sun.jvm.hotspot.oops.ConstantPool cpool
         1: .line 147
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.interpreter.BytecodeLoadConstant.poolIndex:()I
            istore 2 /* cpIndex */
        start local 2 // int cpIndex
         2: .line 148
            aload 1 /* cpool */
            iload 2 /* cpIndex */
            i2l
            invokevirtual sun.jvm.hotspot.oops.ConstantPool.getTagAt:(J)Lsun/jvm/hotspot/utilities/ConstantTag;
            astore 3 /* ctag */
        start local 3 // sun.jvm.hotspot.utilities.ConstantTag ctag
         3: .line 149
            aload 3 /* ctag */
            invokevirtual sun.jvm.hotspot.utilities.ConstantTag.isInt:()Z
            ifeq 5
         4: .line 150
            new java.lang.StringBuilder
            dup
            ldc "<int "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* cpool */
            iload 2 /* cpIndex */
            i2l
            invokevirtual sun.jvm.hotspot.oops.ConstantPool.getIntAt:(J)I
            invokestatic java.lang.Integer.toString:(I)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;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
         5: .line 151
      StackMap locals: sun.jvm.hotspot.oops.ConstantPool int sun.jvm.hotspot.utilities.ConstantTag
      StackMap stack:
            aload 3 /* ctag */
            invokevirtual sun.jvm.hotspot.utilities.ConstantTag.isLong:()Z
            ifeq 7
         6: .line 152
            new java.lang.StringBuilder
            dup
            ldc "<long "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* cpool */
            iload 2 /* cpIndex */
            i2l
            invokevirtual sun.jvm.hotspot.oops.ConstantPool.getLongAt:(J)J
            invokestatic java.lang.Long.toString:(J)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "L>"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
         7: .line 153
      StackMap locals:
      StackMap stack:
            aload 3 /* ctag */
            invokevirtual sun.jvm.hotspot.utilities.ConstantTag.isFloat:()Z
            ifeq 9
         8: .line 154
            new java.lang.StringBuilder
            dup
            ldc "<float "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* cpool */
            iload 2 /* cpIndex */
            i2l
            invokevirtual sun.jvm.hotspot.oops.ConstantPool.getFloatAt:(J)F
            invokestatic java.lang.Float.toString:(F)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "F>"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
         9: .line 155
      StackMap locals:
      StackMap stack:
            aload 3 /* ctag */
            invokevirtual sun.jvm.hotspot.utilities.ConstantTag.isDouble:()Z
            ifeq 11
        10: .line 156
            new java.lang.StringBuilder
            dup
            ldc "<double "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* cpool */
            iload 2 /* cpIndex */
            i2l
            invokevirtual sun.jvm.hotspot.oops.ConstantPool.getDoubleAt:(J)D
            invokestatic java.lang.Double.toString:(D)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "D>"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        11: .line 157
      StackMap locals:
      StackMap stack:
            aload 3 /* ctag */
            invokevirtual sun.jvm.hotspot.utilities.ConstantTag.isString:()Z
            ifeq 14
        12: .line 161
            aload 1 /* cpool */
            iload 2 /* cpIndex */
            invokevirtual sun.jvm.hotspot.oops.ConstantPool.getUnresolvedStringAt:(I)Lsun/jvm/hotspot/oops/Symbol;
            astore 4 /* sym */
        start local 4 // sun.jvm.hotspot.oops.Symbol sym
        13: .line 162
            new java.lang.StringBuilder
            dup
            ldc "<String \""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* sym */
            invokevirtual sun.jvm.hotspot.oops.Symbol.asString:()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;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 4 // sun.jvm.hotspot.oops.Symbol sym
        14: .line 163
      StackMap locals:
      StackMap stack:
            aload 3 /* ctag */
            invokevirtual sun.jvm.hotspot.utilities.ConstantTag.isKlass:()Z
            ifne 15
            aload 3 /* ctag */
            invokevirtual sun.jvm.hotspot.utilities.ConstantTag.isUnresolvedKlass:()Z
            ifeq 23
        15: .line 167
      StackMap locals:
      StackMap stack:
            aload 1 /* cpool */
            iload 2 /* cpIndex */
            i2l
            invokevirtual sun.jvm.hotspot.oops.ConstantPool.getTagAt:(J)Lsun/jvm/hotspot/utilities/ConstantTag;
            astore 4 /* tag */
        start local 4 // sun.jvm.hotspot.utilities.ConstantTag tag
        16: .line 168
            aload 4 /* tag */
            invokevirtual sun.jvm.hotspot.utilities.ConstantTag.isKlass:()Z
            ifeq 19
        17: .line 169
            aload 1 /* cpool */
            iload 2 /* cpIndex */
            invokevirtual sun.jvm.hotspot.oops.ConstantPool.getKlassAt:(I)Lsun/jvm/hotspot/oops/Klass;
            astore 5 /* k */
        start local 5 // sun.jvm.hotspot.oops.Klass k
        18: .line 170
            new java.lang.StringBuilder
            dup
            ldc "<Class "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* k */
            invokevirtual sun.jvm.hotspot.oops.Klass.getName:()Lsun/jvm/hotspot/oops/Symbol;
            invokevirtual sun.jvm.hotspot.oops.Symbol.asString:()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;
            aload 5 /* k */
            invokevirtual sun.jvm.hotspot.oops.Klass.getAddress:()Lsun/jvm/hotspot/debugger/Address;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ">"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 5 // sun.jvm.hotspot.oops.Klass k
        19: .line 171
      StackMap locals: sun.jvm.hotspot.utilities.ConstantTag
      StackMap stack:
            aload 4 /* tag */
            invokevirtual sun.jvm.hotspot.utilities.ConstantTag.isUnresolvedKlass:()Z
            ifeq 22
        20: .line 172
            aload 1 /* cpool */
            iload 2 /* cpIndex */
            invokevirtual sun.jvm.hotspot.oops.ConstantPool.getKlassNameAt:(I)Lsun/jvm/hotspot/oops/Symbol;
            astore 5 /* sym */
        start local 5 // sun.jvm.hotspot.oops.Symbol sym
        21: .line 173
            new java.lang.StringBuilder
            dup
            ldc "<Class "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* sym */
            invokevirtual sun.jvm.hotspot.oops.Symbol.asString:()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;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 5 // sun.jvm.hotspot.oops.Symbol sym
        22: .line 175
      StackMap locals:
      StackMap stack:
            new java.lang.RuntimeException
            dup
            ldc "should not reach here"
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // sun.jvm.hotspot.utilities.ConstantTag tag
        23: .line 177
      StackMap locals:
      StackMap stack:
            aload 3 /* ctag */
            invokevirtual sun.jvm.hotspot.utilities.ConstantTag.isMethodHandle:()Z
            ifeq 33
        24: .line 178
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.interpreter.BytecodeLoadConstant.getCachedConstant:()Lsun/jvm/hotspot/oops/Oop;
            astore 4 /* x */
        start local 4 // sun.jvm.hotspot.oops.Oop x
        25: .line 179
            aload 1 /* cpool */
            iload 2 /* cpIndex */
            invokevirtual sun.jvm.hotspot.oops.ConstantPool.getMethodHandleIndexAt:(I)I
            istore 5 /* refidx */
        start local 5 // int refidx
        26: .line 180
            aload 1 /* cpool */
            iload 2 /* cpIndex */
            invokevirtual sun.jvm.hotspot.oops.ConstantPool.getMethodHandleRefKindAt:(I)I
            istore 6 /* refkind */
        start local 6 // int refkind
        27: .line 181
            new java.lang.StringBuilder
            dup
            ldc "<MethodHandle kind="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 6 /* refkind */
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        28: .line 182
            ldc " ref="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 5 /* refidx */
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        29: .line 183
            aload 4 /* x */
            ifnonnull 30
            ldc ""
            goto 31
      StackMap locals: sun.jvm.hotspot.interpreter.BytecodeLoadConstant sun.jvm.hotspot.oops.ConstantPool int sun.jvm.hotspot.utilities.ConstantTag sun.jvm.hotspot.oops.Oop int int
      StackMap stack: java.lang.StringBuilder
        30: new java.lang.StringBuilder
            dup
            ldc " @"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* x */
            invokevirtual sun.jvm.hotspot.oops.Oop.getHandle:()Lsun/jvm/hotspot/debugger/OopHandle;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
      StackMap locals: sun.jvm.hotspot.interpreter.BytecodeLoadConstant sun.jvm.hotspot.oops.ConstantPool int sun.jvm.hotspot.utilities.ConstantTag sun.jvm.hotspot.oops.Oop int int
      StackMap stack: java.lang.StringBuilder java.lang.String
        31: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ">"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        32: .line 181
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 6 // int refkind
        end local 5 // int refidx
        end local 4 // sun.jvm.hotspot.oops.Oop x
        33: .line 184
      StackMap locals:
      StackMap stack:
            aload 3 /* ctag */
            invokevirtual sun.jvm.hotspot.utilities.ConstantTag.isMethodType:()Z
            ifeq 41
        34: .line 185
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.interpreter.BytecodeLoadConstant.getCachedConstant:()Lsun/jvm/hotspot/oops/Oop;
            astore 4 /* x */
        start local 4 // sun.jvm.hotspot.oops.Oop x
        35: .line 186
            aload 1 /* cpool */
            iload 2 /* cpIndex */
            invokevirtual sun.jvm.hotspot.oops.ConstantPool.getMethodTypeIndexAt:(I)I
            istore 5 /* refidx */
        start local 5 // int refidx
        36: .line 187
            new java.lang.StringBuilder
            dup
            ldc "<MethodType "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* cpool */
            iload 5 /* refidx */
            i2l
            invokevirtual sun.jvm.hotspot.oops.ConstantPool.getSymbolAt:(J)Lsun/jvm/hotspot/oops/Symbol;
            invokevirtual sun.jvm.hotspot.oops.Symbol.asString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        37: .line 188
            aload 4 /* x */
            ifnonnull 38
            ldc ""
            goto 39
      StackMap locals: sun.jvm.hotspot.interpreter.BytecodeLoadConstant sun.jvm.hotspot.oops.ConstantPool int sun.jvm.hotspot.utilities.ConstantTag sun.jvm.hotspot.oops.Oop int
      StackMap stack: java.lang.StringBuilder
        38: new java.lang.StringBuilder
            dup
            ldc " @"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* x */
            invokevirtual sun.jvm.hotspot.oops.Oop.getHandle:()Lsun/jvm/hotspot/debugger/OopHandle;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
      StackMap locals: sun.jvm.hotspot.interpreter.BytecodeLoadConstant sun.jvm.hotspot.oops.ConstantPool int sun.jvm.hotspot.utilities.ConstantTag sun.jvm.hotspot.oops.Oop int
      StackMap stack: java.lang.StringBuilder java.lang.String
        39: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ">"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        40: .line 187
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 5 // int refidx
        end local 4 // sun.jvm.hotspot.oops.Oop x
        41: .line 190
      StackMap locals:
      StackMap stack:
            getstatic sun.jvm.hotspot.utilities.Assert.ASSERTS_ENABLED:Z
            ifeq 43
        42: .line 191
            iconst_0
            ldc "invalid load constant type"
            invokestatic sun.jvm.hotspot.utilities.Assert.that:(ZLjava/lang/String;)V
        43: .line 193
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 3 // sun.jvm.hotspot.utilities.ConstantTag ctag
        end local 2 // int cpIndex
        end local 1 // sun.jvm.hotspot.oops.ConstantPool cpool
        end local 0 // sun.jvm.hotspot.interpreter.BytecodeLoadConstant this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   44     0     this  Lsun/jvm/hotspot/interpreter/BytecodeLoadConstant;
            1   44     1    cpool  Lsun/jvm/hotspot/oops/ConstantPool;
            2   44     2  cpIndex  I
            3   44     3     ctag  Lsun/jvm/hotspot/utilities/ConstantTag;
           13   14     4      sym  Lsun/jvm/hotspot/oops/Symbol;
           16   23     4      tag  Lsun/jvm/hotspot/utilities/ConstantTag;
           18   19     5        k  Lsun/jvm/hotspot/oops/Klass;
           21   22     5      sym  Lsun/jvm/hotspot/oops/Symbol;
           25   33     4        x  Lsun/jvm/hotspot/oops/Oop;
           26   33     5   refidx  I
           27   33     6  refkind  I
           35   41     4        x  Lsun/jvm/hotspot/oops/Oop;
           36   41     5   refidx  I

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // sun.jvm.hotspot.interpreter.BytecodeLoadConstant this
         0: .line 198
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 1 /* buf */
        start local 1 // java.lang.StringBuffer buf
         1: .line 199
            aload 1 /* buf */
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.interpreter.BytecodeLoadConstant.getJavaBytecodeName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         2: .line 200
            aload 1 /* buf */
            ldc " "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         3: .line 201
            aload 1 /* buf */
            bipush 35
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         4: .line 202
            aload 1 /* buf */
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.interpreter.BytecodeLoadConstant.poolIndex:()I
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         5: .line 203
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.interpreter.BytecodeLoadConstant.hasCacheIndex:()Z
            ifeq 9
         6: .line 204
            aload 1 /* buf */
            bipush 40
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         7: .line 205
            aload 1 /* buf */
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.interpreter.BytecodeLoadConstant.cacheIndex:()I
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         8: .line 206
            aload 1 /* buf */
            bipush 41
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         9: .line 208
      StackMap locals: java.lang.StringBuffer
      StackMap stack:
            aload 1 /* buf */
            ldc " "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        10: .line 209
            aload 1 /* buf */
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.interpreter.BytecodeLoadConstant.getConstantValue:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        11: .line 210
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.interpreter.BytecodeLoadConstant.code:()I
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.interpreter.BytecodeLoadConstant.javaCode:()I
            if_icmpeq 16
        12: .line 211
            aload 1 /* buf */
            ldc " "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        13: .line 212
            aload 1 /* buf */
            bipush 91
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        14: .line 213
            aload 1 /* buf */
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.interpreter.BytecodeLoadConstant.getBytecodeName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        15: .line 214
            aload 1 /* buf */
            bipush 93
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        16: .line 216
      StackMap locals:
      StackMap stack:
            aload 1 /* buf */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuffer buf
        end local 0 // sun.jvm.hotspot.interpreter.BytecodeLoadConstant this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   17     0  this  Lsun/jvm/hotspot/interpreter/BytecodeLoadConstant;
            1   17     1   buf  Ljava/lang/StringBuffer;
}
SourceFile: "BytecodeLoadConstant.java"