final class jdk.vm.ci.hotspot.HotSpotConstantPool implements jdk.vm.ci.meta.ConstantPool, jdk.vm.ci.hotspot.MetaspaceWrapperObject
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: jdk.vm.ci.hotspot.HotSpotConstantPool
  super_class: java.lang.Object
{
  private final long metaspaceConstantPool;
    descriptor: J
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private volatile jdk.vm.ci.hotspot.HotSpotConstantPool$LookupTypeCacheElement lastLookupType;
    descriptor: Ljdk/vm/ci/hotspot/HotSpotConstantPool$LookupTypeCacheElement;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private static java.lang.String[] signaturePolymorphicHolders;
    descriptor: [Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

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

  private static volatile int[] $SWITCH_TABLE$jdk$vm$ci$hotspot$HotSpotConstantPool$JVM_CONSTANT;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

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

  private static jdk.vm.ci.hotspot.HotSpotConstantPool fromMetaspace(long);
    descriptor: (J)Ljdk/vm/ci/hotspot/HotSpotConstantPool;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // long metaspaceConstantPool
         0: .line 199
            new jdk.vm.ci.hotspot.HotSpotConstantPool
            dup
            lload 0 /* metaspaceConstantPool */
            invokespecial jdk.vm.ci.hotspot.HotSpotConstantPool.<init>:(J)V
            astore 2 /* cp */
        start local 2 // jdk.vm.ci.hotspot.HotSpotConstantPool cp
         1: .line 200
            invokestatic jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.runtime:()Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            getfield jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.metaAccessContext:Ljdk/vm/ci/hotspot/HotSpotJVMCIMetaAccessContext;
            aload 2 /* cp */
            invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIMetaAccessContext.add:(Ljdk/vm/ci/hotspot/MetaspaceWrapperObject;)V
         2: .line 201
            aload 2 /* cp */
            areturn
        end local 2 // jdk.vm.ci.hotspot.HotSpotConstantPool cp
        end local 0 // long metaspaceConstantPool
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    3     0  metaspaceConstantPool  J
            1    3     2                     cp  Ljdk/vm/ci/hotspot/HotSpotConstantPool;
    MethodParameters:
                       Name  Flags
      metaspaceConstantPool  

  private void <init>(long);
    descriptor: (J)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // jdk.vm.ci.hotspot.HotSpotConstantPool this
        start local 1 // long metaspaceConstantPool
         0: .line 204
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 205
            aload 0 /* this */
            lload 1 /* metaspaceConstantPool */
            putfield jdk.vm.ci.hotspot.HotSpotConstantPool.metaspaceConstantPool:J
         2: .line 206
            return
        end local 1 // long metaspaceConstantPool
        end local 0 // jdk.vm.ci.hotspot.HotSpotConstantPool this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    3     0                   this  Ljdk/vm/ci/hotspot/HotSpotConstantPool;
            0    3     1  metaspaceConstantPool  J
    MethodParameters:
                       Name  Flags
      metaspaceConstantPool  

  private jdk.vm.ci.hotspot.HotSpotResolvedObjectType getHolder();
    descriptor: ()Ljdk/vm/ci/hotspot/HotSpotResolvedObjectType;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // jdk.vm.ci.hotspot.HotSpotConstantPool this
         0: .line 214
            invokestatic jdk.vm.ci.hotspot.CompilerToVM.compilerToVM:()Ljdk/vm/ci/hotspot/CompilerToVM;
            aload 0 /* this */
            invokestatic jdk.vm.ci.hotspot.HotSpotVMConfig.config:()Ljdk/vm/ci/hotspot/HotSpotVMConfig;
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.constantPoolHolderOffset:I
            i2l
            iconst_0
            invokevirtual jdk.vm.ci.hotspot.CompilerToVM.getResolvedJavaType:(Ljava/lang/Object;JZ)Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
            areturn
        end local 0 // jdk.vm.ci.hotspot.HotSpotConstantPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/vm/ci/hotspot/HotSpotConstantPool;

  private static int rawIndexToConstantPoolIndex(int, int);
    descriptor: (II)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // int rawIndex
        start local 1 // int opcode
         0: .line 227
            iload 1 /* opcode */
            sipush 186
            if_icmpne 3
         1: .line 228
            iload 0 /* rawIndex */
            istore 2 /* index */
        start local 2 // int index
         2: .line 230
            getstatic jdk.vm.ci.hotspot.HotSpotConstantPool.$assertionsDisabled:Z
            ifne 6
            iload 2 /* index */
            iflt 6
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "not an invokedynamic constant pool index "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* index */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        end local 2 // int index
         3: .line 232
      StackMap locals:
      StackMap stack:
            getstatic jdk.vm.ci.hotspot.HotSpotConstantPool.$assertionsDisabled:Z
            ifne 5
            iload 1 /* opcode */
            sipush 180
            if_icmpeq 5
            iload 1 /* opcode */
            sipush 181
            if_icmpeq 5
            iload 1 /* opcode */
            sipush 178
            if_icmpeq 5
            iload 1 /* opcode */
            sipush 179
            if_icmpeq 5
            iload 1 /* opcode */
            sipush 185
            if_icmpeq 5
         4: .line 233
            iload 1 /* opcode */
            sipush 182
            if_icmpeq 5
            iload 1 /* opcode */
            sipush 183
            if_icmpeq 5
            iload 1 /* opcode */
            sipush 184
            if_icmpeq 5
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "unexpected invoke opcode "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* opcode */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         5: .line 234
      StackMap locals:
      StackMap stack:
            iload 0 /* rawIndex */
            invokestatic jdk.vm.ci.hotspot.HotSpotVMConfig.config:()Ljdk/vm/ci/hotspot/HotSpotVMConfig;
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.constantPoolCpCacheIndexTag:I
            iadd
            istore 2 /* index */
        start local 2 // int index
         6: .line 236
      StackMap locals: int
      StackMap stack:
            iload 2 /* index */
            ireturn
        end local 2 // int index
        end local 1 // int opcode
        end local 0 // int rawIndex
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0  rawIndex  I
            0    7     1    opcode  I
            2    3     2     index  I
            6    7     2     index  I
    MethodParameters:
          Name  Flags
      rawIndex  
      opcode    

  private static int decodeConstantPoolCacheIndex(int);
    descriptor: (I)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int index
         0: .line 248
            iload 0 /* index */
            invokestatic jdk.vm.ci.hotspot.HotSpotConstantPool.isInvokedynamicIndex:(I)Z
            ifeq 2
         1: .line 249
            iload 0 /* index */
            invokestatic jdk.vm.ci.hotspot.HotSpotConstantPool.decodeInvokedynamicIndex:(I)I
            ireturn
         2: .line 251
      StackMap locals:
      StackMap stack:
            iload 0 /* index */
            invokestatic jdk.vm.ci.hotspot.HotSpotVMConfig.config:()Ljdk/vm/ci/hotspot/HotSpotVMConfig;
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.constantPoolCpCacheIndexTag:I
            isub
            ireturn
        end local 0 // int index
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  index  I
    MethodParameters:
       Name  Flags
      index  

  private static boolean isInvokedynamicIndex(int);
    descriptor: (I)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // int index
         0: .line 259
            iload 0 /* index */
            ifge 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // int index
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0  index  I
    MethodParameters:
       Name  Flags
      index  

  private static int decodeInvokedynamicIndex(int);
    descriptor: (I)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // int i
         0: .line 266
            getstatic jdk.vm.ci.hotspot.HotSpotConstantPool.$assertionsDisabled:Z
            ifne 1
            iload 0 /* i */
            invokestatic jdk.vm.ci.hotspot.HotSpotConstantPool.isInvokedynamicIndex:(I)Z
            ifne 1
            new java.lang.AssertionError
            dup
            iload 0 /* i */
            invokespecial java.lang.AssertionError.<init>:(I)V
            athrow
         1: .line 267
      StackMap locals:
      StackMap stack:
            iload 0 /* i */
            iconst_m1
            ixor
            ireturn
        end local 0 // int i
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     i  I
    MethodParameters:
      Name  Flags
      i     

  long getMetaspaceConstantPool();
    descriptor: ()J
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.vm.ci.hotspot.HotSpotConstantPool this
         0: .line 271
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotConstantPool.metaspaceConstantPool:J
            lreturn
        end local 0 // jdk.vm.ci.hotspot.HotSpotConstantPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/vm/ci/hotspot/HotSpotConstantPool;

  public long getMetaspacePointer();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.vm.ci.hotspot.HotSpotConstantPool this
         0: .line 275
            aload 0 /* this */
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool.getMetaspaceConstantPool:()J
            lreturn
        end local 0 // jdk.vm.ci.hotspot.HotSpotConstantPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/vm/ci/hotspot/HotSpotConstantPool;

  private jdk.vm.ci.hotspot.HotSpotConstantPool$JVM_CONSTANT getTagAt(int);
    descriptor: (I)Ljdk/vm/ci/hotspot/HotSpotConstantPool$JVM_CONSTANT;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=6, args_size=2
        start local 0 // jdk.vm.ci.hotspot.HotSpotConstantPool this
        start local 1 // int index
         0: .line 285
            getstatic jdk.vm.ci.hotspot.HotSpotConstantPool.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            iload 1 /* index */
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool.checkBounds:(I)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 286
      StackMap locals:
      StackMap stack:
            invokestatic jdk.vm.ci.hotspot.HotSpotVMConfig.config:()Ljdk/vm/ci/hotspot/HotSpotVMConfig;
            astore 2 /* config */
        start local 2 // jdk.vm.ci.hotspot.HotSpotVMConfig config
         2: .line 287
            getstatic jdk.vm.ci.hotspot.UnsafeAccess.UNSAFE:Ljdk/internal/misc/Unsafe;
            aload 0 /* this */
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool.getMetaspaceConstantPool:()J
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.constantPoolTagsOffset:I
            i2l
            ladd
            invokevirtual jdk.internal.misc.Unsafe.getAddress:(J)J
            lstore 3 /* metaspaceConstantPoolTags */
        start local 3 // long metaspaceConstantPoolTags
         3: .line 288
            getstatic jdk.vm.ci.hotspot.UnsafeAccess.UNSAFE:Ljdk/internal/misc/Unsafe;
            aconst_null
            lload 3 /* metaspaceConstantPoolTags */
            aload 2 /* config */
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.arrayU1DataOffset:I
            i2l
            ladd
            iload 1 /* index */
            i2l
            ladd
            invokevirtual jdk.internal.misc.Unsafe.getByteVolatile:(Ljava/lang/Object;J)B
            istore 5 /* tag */
        start local 5 // int tag
         4: .line 289
            iload 5 /* tag */
            ifne 6
         5: .line 290
            aconst_null
            areturn
         6: .line 292
      StackMap locals: jdk.vm.ci.hotspot.HotSpotVMConfig long int
      StackMap stack:
            iload 5 /* tag */
            invokestatic jdk.vm.ci.hotspot.HotSpotConstantPool$JVM_CONSTANT.getEnum:(I)Ljdk/vm/ci/hotspot/HotSpotConstantPool$JVM_CONSTANT;
            areturn
        end local 5 // int tag
        end local 3 // long metaspaceConstantPoolTags
        end local 2 // jdk.vm.ci.hotspot.HotSpotVMConfig config
        end local 1 // int index
        end local 0 // jdk.vm.ci.hotspot.HotSpotConstantPool this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0    7     0                       this  Ljdk/vm/ci/hotspot/HotSpotConstantPool;
            0    7     1                      index  I
            2    7     2                     config  Ljdk/vm/ci/hotspot/HotSpotVMConfig;
            3    7     3  metaspaceConstantPoolTags  J
            4    7     5                        tag  I
    MethodParameters:
       Name  Flags
      index  

  long getEntryAt(int);
    descriptor: (I)J
    flags: (0x0000) 
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // jdk.vm.ci.hotspot.HotSpotConstantPool this
        start local 1 // int index
         0: .line 302
            getstatic jdk.vm.ci.hotspot.HotSpotConstantPool.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            iload 1 /* index */
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool.checkBounds:(I)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 303
      StackMap locals:
      StackMap stack:
            iload 1 /* index */
            invokestatic jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.runtime:()Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getHostJVMCIBackend:()Ljdk/vm/ci/runtime/JVMCIBackend;
            invokevirtual jdk.vm.ci.runtime.JVMCIBackend.getTarget:()Ljdk/vm/ci/code/TargetDescription;
            getfield jdk.vm.ci.code.TargetDescription.wordSize:I
            imul
            istore 2 /* offset */
        start local 2 // int offset
         2: .line 304
            getstatic jdk.vm.ci.hotspot.UnsafeAccess.UNSAFE:Ljdk/internal/misc/Unsafe;
            aload 0 /* this */
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool.getMetaspaceConstantPool:()J
            invokestatic jdk.vm.ci.hotspot.HotSpotVMConfig.config:()Ljdk/vm/ci/hotspot/HotSpotVMConfig;
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.constantPoolSize:I
            i2l
            ladd
            iload 2 /* offset */
            i2l
            ladd
            invokevirtual jdk.internal.misc.Unsafe.getAddress:(J)J
            lreturn
        end local 2 // int offset
        end local 1 // int index
        end local 0 // jdk.vm.ci.hotspot.HotSpotConstantPool this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Ljdk/vm/ci/hotspot/HotSpotConstantPool;
            0    3     1   index  I
            2    3     2  offset  I
    MethodParameters:
       Name  Flags
      index  

  private int getIntAt(int);
    descriptor: (I)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // jdk.vm.ci.hotspot.HotSpotConstantPool this
        start local 1 // int index
         0: .line 314
            getstatic jdk.vm.ci.hotspot.HotSpotConstantPool.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            iload 1 /* index */
            getstatic jdk.vm.ci.hotspot.HotSpotConstantPool$JVM_CONSTANT.Integer:Ljdk/vm/ci/hotspot/HotSpotConstantPool$JVM_CONSTANT;
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool.checkTag:(ILjdk/vm/ci/hotspot/HotSpotConstantPool$JVM_CONSTANT;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 315
      StackMap locals:
      StackMap stack:
            iload 1 /* index */
            invokestatic jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.runtime:()Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getHostJVMCIBackend:()Ljdk/vm/ci/runtime/JVMCIBackend;
            invokevirtual jdk.vm.ci.runtime.JVMCIBackend.getTarget:()Ljdk/vm/ci/code/TargetDescription;
            getfield jdk.vm.ci.code.TargetDescription.wordSize:I
            imul
            istore 2 /* offset */
        start local 2 // int offset
         2: .line 316
            getstatic jdk.vm.ci.hotspot.UnsafeAccess.UNSAFE:Ljdk/internal/misc/Unsafe;
            aload 0 /* this */
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool.getMetaspaceConstantPool:()J
            invokestatic jdk.vm.ci.hotspot.HotSpotVMConfig.config:()Ljdk/vm/ci/hotspot/HotSpotVMConfig;
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.constantPoolSize:I
            i2l
            ladd
            iload 2 /* offset */
            i2l
            ladd
            invokevirtual jdk.internal.misc.Unsafe.getInt:(J)I
            ireturn
        end local 2 // int offset
        end local 1 // int index
        end local 0 // jdk.vm.ci.hotspot.HotSpotConstantPool this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Ljdk/vm/ci/hotspot/HotSpotConstantPool;
            0    3     1   index  I
            2    3     2  offset  I
    MethodParameters:
       Name  Flags
      index  

  private long getLongAt(int);
    descriptor: (I)J
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // jdk.vm.ci.hotspot.HotSpotConstantPool this
        start local 1 // int index
         0: .line 326
            getstatic jdk.vm.ci.hotspot.HotSpotConstantPool.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            iload 1 /* index */
            getstatic jdk.vm.ci.hotspot.HotSpotConstantPool$JVM_CONSTANT.Long:Ljdk/vm/ci/hotspot/HotSpotConstantPool$JVM_CONSTANT;
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool.checkTag:(ILjdk/vm/ci/hotspot/HotSpotConstantPool$JVM_CONSTANT;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 327
      StackMap locals:
      StackMap stack:
            iload 1 /* index */
            invokestatic jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.runtime:()Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getHostJVMCIBackend:()Ljdk/vm/ci/runtime/JVMCIBackend;
            invokevirtual jdk.vm.ci.runtime.JVMCIBackend.getTarget:()Ljdk/vm/ci/code/TargetDescription;
            getfield jdk.vm.ci.code.TargetDescription.wordSize:I
            imul
            istore 2 /* offset */
        start local 2 // int offset
         2: .line 328
            getstatic jdk.vm.ci.hotspot.UnsafeAccess.UNSAFE:Ljdk/internal/misc/Unsafe;
            aload 0 /* this */
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool.getMetaspaceConstantPool:()J
            invokestatic jdk.vm.ci.hotspot.HotSpotVMConfig.config:()Ljdk/vm/ci/hotspot/HotSpotVMConfig;
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.constantPoolSize:I
            i2l
            ladd
            iload 2 /* offset */
            i2l
            ladd
            invokevirtual jdk.internal.misc.Unsafe.getLong:(J)J
            lreturn
        end local 2 // int offset
        end local 1 // int index
        end local 0 // jdk.vm.ci.hotspot.HotSpotConstantPool this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Ljdk/vm/ci/hotspot/HotSpotConstantPool;
            0    3     1   index  I
            2    3     2  offset  I
    MethodParameters:
       Name  Flags
      index  

  private float getFloatAt(int);
    descriptor: (I)F
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // jdk.vm.ci.hotspot.HotSpotConstantPool this
        start local 1 // int index
         0: .line 338
            getstatic jdk.vm.ci.hotspot.HotSpotConstantPool.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            iload 1 /* index */
            getstatic jdk.vm.ci.hotspot.HotSpotConstantPool$JVM_CONSTANT.Float:Ljdk/vm/ci/hotspot/HotSpotConstantPool$JVM_CONSTANT;
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool.checkTag:(ILjdk/vm/ci/hotspot/HotSpotConstantPool$JVM_CONSTANT;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 339
      StackMap locals:
      StackMap stack:
            iload 1 /* index */
            invokestatic jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.runtime:()Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getHostJVMCIBackend:()Ljdk/vm/ci/runtime/JVMCIBackend;
            invokevirtual jdk.vm.ci.runtime.JVMCIBackend.getTarget:()Ljdk/vm/ci/code/TargetDescription;
            getfield jdk.vm.ci.code.TargetDescription.wordSize:I
            imul
            istore 2 /* offset */
        start local 2 // int offset
         2: .line 340
            getstatic jdk.vm.ci.hotspot.UnsafeAccess.UNSAFE:Ljdk/internal/misc/Unsafe;
            aload 0 /* this */
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool.getMetaspaceConstantPool:()J
            invokestatic jdk.vm.ci.hotspot.HotSpotVMConfig.config:()Ljdk/vm/ci/hotspot/HotSpotVMConfig;
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.constantPoolSize:I
            i2l
            ladd
            iload 2 /* offset */
            i2l
            ladd
            invokevirtual jdk.internal.misc.Unsafe.getFloat:(J)F
            freturn
        end local 2 // int offset
        end local 1 // int index
        end local 0 // jdk.vm.ci.hotspot.HotSpotConstantPool this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Ljdk/vm/ci/hotspot/HotSpotConstantPool;
            0    3     1   index  I
            2    3     2  offset  I
    MethodParameters:
       Name  Flags
      index  

  private double getDoubleAt(int);
    descriptor: (I)D
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // jdk.vm.ci.hotspot.HotSpotConstantPool this
        start local 1 // int index
         0: .line 350
            getstatic jdk.vm.ci.hotspot.HotSpotConstantPool.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            iload 1 /* index */
            getstatic jdk.vm.ci.hotspot.HotSpotConstantPool$JVM_CONSTANT.Double:Ljdk/vm/ci/hotspot/HotSpotConstantPool$JVM_CONSTANT;
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool.checkTag:(ILjdk/vm/ci/hotspot/HotSpotConstantPool$JVM_CONSTANT;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 351
      StackMap locals:
      StackMap stack:
            iload 1 /* index */
            invokestatic jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.runtime:()Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getHostJVMCIBackend:()Ljdk/vm/ci/runtime/JVMCIBackend;
            invokevirtual jdk.vm.ci.runtime.JVMCIBackend.getTarget:()Ljdk/vm/ci/code/TargetDescription;
            getfield jdk.vm.ci.code.TargetDescription.wordSize:I
            imul
            istore 2 /* offset */
        start local 2 // int offset
         2: .line 352
            getstatic jdk.vm.ci.hotspot.UnsafeAccess.UNSAFE:Ljdk/internal/misc/Unsafe;
            aload 0 /* this */
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool.getMetaspaceConstantPool:()J
            invokestatic jdk.vm.ci.hotspot.HotSpotVMConfig.config:()Ljdk/vm/ci/hotspot/HotSpotVMConfig;
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.constantPoolSize:I
            i2l
            ladd
            iload 2 /* offset */
            i2l
            ladd
            invokevirtual jdk.internal.misc.Unsafe.getDouble:(J)D
            dreturn
        end local 2 // int offset
        end local 1 // int index
        end local 0 // jdk.vm.ci.hotspot.HotSpotConstantPool this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Ljdk/vm/ci/hotspot/HotSpotConstantPool;
            0    3     1   index  I
            2    3     2  offset  I
    MethodParameters:
       Name  Flags
      index  

  private int getNameAndTypeAt(int);
    descriptor: (I)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // jdk.vm.ci.hotspot.HotSpotConstantPool this
        start local 1 // int index
         0: .line 362
            getstatic jdk.vm.ci.hotspot.HotSpotConstantPool.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            iload 1 /* index */
            getstatic jdk.vm.ci.hotspot.HotSpotConstantPool$JVM_CONSTANT.NameAndType:Ljdk/vm/ci/hotspot/HotSpotConstantPool$JVM_CONSTANT;
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool.checkTag:(ILjdk/vm/ci/hotspot/HotSpotConstantPool$JVM_CONSTANT;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 363
      StackMap locals:
      StackMap stack:
            iload 1 /* index */
            invokestatic jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.runtime:()Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getHostJVMCIBackend:()Ljdk/vm/ci/runtime/JVMCIBackend;
            invokevirtual jdk.vm.ci.runtime.JVMCIBackend.getTarget:()Ljdk/vm/ci/code/TargetDescription;
            getfield jdk.vm.ci.code.TargetDescription.wordSize:I
            imul
            istore 2 /* offset */
        start local 2 // int offset
         2: .line 364
            getstatic jdk.vm.ci.hotspot.UnsafeAccess.UNSAFE:Ljdk/internal/misc/Unsafe;
            aload 0 /* this */
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool.getMetaspaceConstantPool:()J
            invokestatic jdk.vm.ci.hotspot.HotSpotVMConfig.config:()Ljdk/vm/ci/hotspot/HotSpotVMConfig;
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.constantPoolSize:I
            i2l
            ladd
            iload 2 /* offset */
            i2l
            ladd
            invokevirtual jdk.internal.misc.Unsafe.getInt:(J)I
            ireturn
        end local 2 // int offset
        end local 1 // int index
        end local 0 // jdk.vm.ci.hotspot.HotSpotConstantPool this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Ljdk/vm/ci/hotspot/HotSpotConstantPool;
            0    3     1   index  I
            2    3     2  offset  I
    MethodParameters:
       Name  Flags
      index  

  private int getNameAndTypeRefIndexAt(int);
    descriptor: (I)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.vm.ci.hotspot.HotSpotConstantPool this
        start local 1 // int index
         0: .line 375
            invokestatic jdk.vm.ci.hotspot.CompilerToVM.compilerToVM:()Ljdk/vm/ci/hotspot/CompilerToVM;
            aload 0 /* this */
            iload 1 /* index */
            invokevirtual jdk.vm.ci.hotspot.CompilerToVM.lookupNameAndTypeRefIndexInPool:(Ljdk/vm/ci/hotspot/HotSpotConstantPool;I)I
            ireturn
        end local 1 // int index
        end local 0 // jdk.vm.ci.hotspot.HotSpotConstantPool this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Ljdk/vm/ci/hotspot/HotSpotConstantPool;
            0    1     1  index  I
    MethodParameters:
       Name  Flags
      index  

  private java.lang.String getNameOf(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.vm.ci.hotspot.HotSpotConstantPool this
        start local 1 // int which
         0: .line 386
            invokestatic jdk.vm.ci.hotspot.CompilerToVM.compilerToVM:()Ljdk/vm/ci/hotspot/CompilerToVM;
            aload 0 /* this */
            iload 1 /* which */
            invokevirtual jdk.vm.ci.hotspot.CompilerToVM.lookupNameInPool:(Ljdk/vm/ci/hotspot/HotSpotConstantPool;I)Ljava/lang/String;
            areturn
        end local 1 // int which
        end local 0 // jdk.vm.ci.hotspot.HotSpotConstantPool this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Ljdk/vm/ci/hotspot/HotSpotConstantPool;
            0    1     1  which  I
    MethodParameters:
       Name  Flags
      which  

  private int getNameRefIndexAt(int);
    descriptor: (I)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // jdk.vm.ci.hotspot.HotSpotConstantPool this
        start local 1 // int index
         0: .line 397
            aload 0 /* this */
            iload 1 /* index */
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool.getNameAndTypeAt:(I)I
            istore 2 /* refIndex */
        start local 2 // int refIndex
         1: .line 399
            iload 2 /* refIndex */
            ldc 65535
            iand
            ireturn
        end local 2 // int refIndex
        end local 1 // int index
        end local 0 // jdk.vm.ci.hotspot.HotSpotConstantPool this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Ljdk/vm/ci/hotspot/HotSpotConstantPool;
            0    2     1     index  I
            1    2     2  refIndex  I
    MethodParameters:
       Name  Flags
      index  

  private java.lang.String getSignatureOf(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.vm.ci.hotspot.HotSpotConstantPool this
        start local 1 // int which
         0: .line 410
            invokestatic jdk.vm.ci.hotspot.CompilerToVM.compilerToVM:()Ljdk/vm/ci/hotspot/CompilerToVM;
            aload 0 /* this */
            iload 1 /* which */
            invokevirtual jdk.vm.ci.hotspot.CompilerToVM.lookupSignatureInPool:(Ljdk/vm/ci/hotspot/HotSpotConstantPool;I)Ljava/lang/String;
            areturn
        end local 1 // int which
        end local 0 // jdk.vm.ci.hotspot.HotSpotConstantPool this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Ljdk/vm/ci/hotspot/HotSpotConstantPool;
            0    1     1  which  I
    MethodParameters:
       Name  Flags
      which  

  private int getSignatureRefIndexAt(int);
    descriptor: (I)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // jdk.vm.ci.hotspot.HotSpotConstantPool this
        start local 1 // int index
         0: .line 421
            aload 0 /* this */
            iload 1 /* index */
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool.getNameAndTypeAt:(I)I
            istore 2 /* refIndex */
        start local 2 // int refIndex
         1: .line 423
            iload 2 /* refIndex */
            bipush 16
            iushr
            ireturn
        end local 2 // int refIndex
        end local 1 // int index
        end local 0 // jdk.vm.ci.hotspot.HotSpotConstantPool this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Ljdk/vm/ci/hotspot/HotSpotConstantPool;
            0    2     1     index  I
            1    2     2  refIndex  I
    MethodParameters:
       Name  Flags
      index  

  private int getKlassRefIndexAt(int);
    descriptor: (I)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.vm.ci.hotspot.HotSpotConstantPool this
        start local 1 // int index
         0: .line 433
            invokestatic jdk.vm.ci.hotspot.CompilerToVM.compilerToVM:()Ljdk/vm/ci/hotspot/CompilerToVM;
            aload 0 /* this */
            iload 1 /* index */
            invokevirtual jdk.vm.ci.hotspot.CompilerToVM.lookupKlassRefIndexInPool:(Ljdk/vm/ci/hotspot/HotSpotConstantPool;I)I
            ireturn
        end local 1 // int index
        end local 0 // jdk.vm.ci.hotspot.HotSpotConstantPool this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Ljdk/vm/ci/hotspot/HotSpotConstantPool;
            0    1     1  index  I
    MethodParameters:
       Name  Flags
      index  

  private int getUncachedKlassRefIndexAt(int);
    descriptor: (I)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // jdk.vm.ci.hotspot.HotSpotConstantPool this
        start local 1 // int index
         0: .line 444
            getstatic jdk.vm.ci.hotspot.HotSpotConstantPool.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            iload 1 /* index */
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool.checkTagIsFieldOrMethod:(I)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 445
      StackMap locals:
      StackMap stack:
            iload 1 /* index */
            invokestatic jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.runtime:()Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getHostJVMCIBackend:()Ljdk/vm/ci/runtime/JVMCIBackend;
            invokevirtual jdk.vm.ci.runtime.JVMCIBackend.getTarget:()Ljdk/vm/ci/code/TargetDescription;
            getfield jdk.vm.ci.code.TargetDescription.wordSize:I
            imul
            istore 2 /* offset */
        start local 2 // int offset
         2: .line 446
            getstatic jdk.vm.ci.hotspot.UnsafeAccess.UNSAFE:Ljdk/internal/misc/Unsafe;
            aload 0 /* this */
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool.getMetaspaceConstantPool:()J
            invokestatic jdk.vm.ci.hotspot.HotSpotVMConfig.config:()Ljdk/vm/ci/hotspot/HotSpotVMConfig;
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.constantPoolSize:I
            i2l
            ladd
            iload 2 /* offset */
            i2l
            ladd
            invokevirtual jdk.internal.misc.Unsafe.getInt:(J)I
            istore 3 /* refIndex */
        start local 3 // int refIndex
         3: .line 448
            iload 3 /* refIndex */
            ldc 65535
            iand
            ireturn
        end local 3 // int refIndex
        end local 2 // int offset
        end local 1 // int index
        end local 0 // jdk.vm.ci.hotspot.HotSpotConstantPool this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Ljdk/vm/ci/hotspot/HotSpotConstantPool;
            0    4     1     index  I
            2    4     2    offset  I
            3    4     3  refIndex  I
    MethodParameters:
       Name  Flags
      index  

  private boolean checkBounds(int);
    descriptor: (I)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // jdk.vm.ci.hotspot.HotSpotConstantPool this
        start local 1 // int index
         0: .line 458
            getstatic jdk.vm.ci.hotspot.HotSpotConstantPool.$assertionsDisabled:Z
            ifne 2
            iload 1 /* index */
            iflt 1
            iload 1 /* index */
            aload 0 /* this */
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool.length:()I
            if_icmplt 2
      StackMap locals:
      StackMap stack:
         1: new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "index "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* index */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " not between 0 and "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool.length:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         2: .line 459
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 1 // int index
        end local 0 // jdk.vm.ci.hotspot.HotSpotConstantPool this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Ljdk/vm/ci/hotspot/HotSpotConstantPool;
            0    3     1  index  I
    MethodParameters:
       Name  Flags
      index  

  private boolean checkTag(int, jdk.vm.ci.hotspot.HotSpotConstantPool$JVM_CONSTANT);
    descriptor: (ILjdk/vm/ci/hotspot/HotSpotConstantPool$JVM_CONSTANT;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // jdk.vm.ci.hotspot.HotSpotConstantPool this
        start local 1 // int index
        start local 2 // jdk.vm.ci.hotspot.HotSpotConstantPool$JVM_CONSTANT tag
         0: .line 470
            aload 0 /* this */
            iload 1 /* index */
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool.getTagAt:(I)Ljdk/vm/ci/hotspot/HotSpotConstantPool$JVM_CONSTANT;
            astore 3 /* tagAt */
        start local 3 // jdk.vm.ci.hotspot.HotSpotConstantPool$JVM_CONSTANT tagAt
         1: .line 471
            getstatic jdk.vm.ci.hotspot.HotSpotConstantPool.$assertionsDisabled:Z
            ifne 2
            aload 3 /* tagAt */
            aload 2 /* tag */
            if_acmpeq 2
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "constant pool tag at index "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* index */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " is "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* tagAt */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " but expected "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* tag */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         2: .line 472
      StackMap locals: jdk.vm.ci.hotspot.HotSpotConstantPool$JVM_CONSTANT
      StackMap stack:
            iconst_1
            ireturn
        end local 3 // jdk.vm.ci.hotspot.HotSpotConstantPool$JVM_CONSTANT tagAt
        end local 2 // jdk.vm.ci.hotspot.HotSpotConstantPool$JVM_CONSTANT tag
        end local 1 // int index
        end local 0 // jdk.vm.ci.hotspot.HotSpotConstantPool this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Ljdk/vm/ci/hotspot/HotSpotConstantPool;
            0    3     1  index  I
            0    3     2    tag  Ljdk/vm/ci/hotspot/HotSpotConstantPool$JVM_CONSTANT;
            1    3     3  tagAt  Ljdk/vm/ci/hotspot/HotSpotConstantPool$JVM_CONSTANT;
    MethodParameters:
       Name  Flags
      index  
      tag    

  private boolean checkTagIsFieldOrMethod(int);
    descriptor: (I)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // jdk.vm.ci.hotspot.HotSpotConstantPool this
        start local 1 // int index
         0: .line 483
            aload 0 /* this */
            iload 1 /* index */
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool.getTagAt:(I)Ljdk/vm/ci/hotspot/HotSpotConstantPool$JVM_CONSTANT;
            astore 2 /* tagAt */
        start local 2 // jdk.vm.ci.hotspot.HotSpotConstantPool$JVM_CONSTANT tagAt
         1: .line 484
            getstatic jdk.vm.ci.hotspot.HotSpotConstantPool.$assertionsDisabled:Z
            ifne 2
            aload 2 /* tagAt */
            getstatic jdk.vm.ci.hotspot.HotSpotConstantPool$JVM_CONSTANT.Fieldref:Ljdk/vm/ci/hotspot/HotSpotConstantPool$JVM_CONSTANT;
            if_acmpeq 2
            aload 2 /* tagAt */
            getstatic jdk.vm.ci.hotspot.HotSpotConstantPool$JVM_CONSTANT.MethodRef:Ljdk/vm/ci/hotspot/HotSpotConstantPool$JVM_CONSTANT;
            if_acmpeq 2
            aload 2 /* tagAt */
            getstatic jdk.vm.ci.hotspot.HotSpotConstantPool$JVM_CONSTANT.InterfaceMethodref:Ljdk/vm/ci/hotspot/HotSpotConstantPool$JVM_CONSTANT;
            if_acmpeq 2
            new java.lang.AssertionError
            dup
            aload 2 /* tagAt */
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         2: .line 485
      StackMap locals: jdk.vm.ci.hotspot.HotSpotConstantPool$JVM_CONSTANT
      StackMap stack:
            iconst_1
            ireturn
        end local 2 // jdk.vm.ci.hotspot.HotSpotConstantPool$JVM_CONSTANT tagAt
        end local 1 // int index
        end local 0 // jdk.vm.ci.hotspot.HotSpotConstantPool this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Ljdk/vm/ci/hotspot/HotSpotConstantPool;
            0    3     1  index  I
            1    3     2  tagAt  Ljdk/vm/ci/hotspot/HotSpotConstantPool$JVM_CONSTANT;
    MethodParameters:
       Name  Flags
      index  

  public int length();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // jdk.vm.ci.hotspot.HotSpotConstantPool this
         0: .line 490
            getstatic jdk.vm.ci.hotspot.UnsafeAccess.UNSAFE:Ljdk/internal/misc/Unsafe;
            aload 0 /* this */
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool.getMetaspaceConstantPool:()J
            invokestatic jdk.vm.ci.hotspot.HotSpotVMConfig.config:()Ljdk/vm/ci/hotspot/HotSpotVMConfig;
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.constantPoolLengthOffset:I
            i2l
            ladd
            invokevirtual jdk.internal.misc.Unsafe.getInt:(J)I
            ireturn
        end local 0 // jdk.vm.ci.hotspot.HotSpotConstantPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/vm/ci/hotspot/HotSpotConstantPool;

  public java.lang.Object lookupConstant(int);
    descriptor: (I)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=2
        start local 0 // jdk.vm.ci.hotspot.HotSpotConstantPool this
        start local 1 // int cpi
         0: .line 495
            getstatic jdk.vm.ci.hotspot.HotSpotConstantPool.$assertionsDisabled:Z
            ifne 1
            iload 1 /* cpi */
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 496
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* cpi */
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool.getTagAt:(I)Ljdk/vm/ci/hotspot/HotSpotConstantPool$JVM_CONSTANT;
            astore 2 /* tag */
        start local 2 // jdk.vm.ci.hotspot.HotSpotConstantPool$JVM_CONSTANT tag
         2: .line 497
            invokestatic jdk.vm.ci.hotspot.HotSpotConstantPool.$SWITCH_TABLE$jdk$vm$ci$hotspot$HotSpotConstantPool$JVM_CONSTANT:()[I
            aload 2 /* tag */
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool$JVM_CONSTANT.ordinal:()I
            iaload
            tableswitch { // 2 - 17
                    2: 3
                    3: 4
                    4: 5
                    5: 6
                    6: 7
                    7: 7
                    8: 7
                    9: 8
                   10: 12
                   11: 12
                   12: 12
                   13: 12
                   14: 10
                   15: 10
                   16: 10
                   17: 10
              default: 12
          }
         3: .line 499
      StackMap locals: jdk.vm.ci.hotspot.HotSpotConstantPool$JVM_CONSTANT
      StackMap stack:
            aload 0 /* this */
            iload 1 /* cpi */
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool.getIntAt:(I)I
            invokestatic jdk.vm.ci.meta.JavaConstant.forInt:(I)Ljdk/vm/ci/meta/PrimitiveConstant;
            areturn
         4: .line 501
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* cpi */
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool.getLongAt:(I)J
            invokestatic jdk.vm.ci.meta.JavaConstant.forLong:(J)Ljdk/vm/ci/meta/PrimitiveConstant;
            areturn
         5: .line 503
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* cpi */
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool.getFloatAt:(I)F
            invokestatic jdk.vm.ci.meta.JavaConstant.forFloat:(F)Ljdk/vm/ci/meta/PrimitiveConstant;
            areturn
         6: .line 505
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* cpi */
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool.getDoubleAt:(I)D
            invokestatic jdk.vm.ci.meta.JavaConstant.forDouble:(D)Ljdk/vm/ci/meta/PrimitiveConstant;
            areturn
         7: .line 510
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* cpi */
            iconst_m1
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool.lookupType:(II)Ljdk/vm/ci/meta/JavaType;
            areturn
         8: .line 517
      StackMap locals:
      StackMap stack:
            invokestatic jdk.vm.ci.hotspot.CompilerToVM.compilerToVM:()Ljdk/vm/ci/hotspot/CompilerToVM;
            aload 0 /* this */
            iload 1 /* cpi */
            invokevirtual jdk.vm.ci.hotspot.CompilerToVM.resolvePossiblyCachedConstantInPool:(Ljdk/vm/ci/hotspot/HotSpotConstantPool;I)Ljava/lang/Object;
            astore 3 /* string */
        start local 3 // java.lang.Object string
         9: .line 518
            aload 3 /* string */
            invokestatic jdk.vm.ci.hotspot.HotSpotObjectConstantImpl.forObject:(Ljava/lang/Object;)Ljdk/vm/ci/meta/JavaConstant;
            areturn
        end local 3 // java.lang.Object string
        10: .line 523
      StackMap locals:
      StackMap stack:
            invokestatic jdk.vm.ci.hotspot.CompilerToVM.compilerToVM:()Ljdk/vm/ci/hotspot/CompilerToVM;
            aload 0 /* this */
            iload 1 /* cpi */
            invokevirtual jdk.vm.ci.hotspot.CompilerToVM.resolveConstantInPool:(Ljdk/vm/ci/hotspot/HotSpotConstantPool;I)Ljava/lang/Object;
            astore 4 /* obj */
        start local 4 // java.lang.Object obj
        11: .line 524
            aload 4 /* obj */
            invokestatic jdk.vm.ci.hotspot.HotSpotObjectConstantImpl.forObject:(Ljava/lang/Object;)Ljdk/vm/ci/meta/JavaConstant;
            areturn
        end local 4 // java.lang.Object obj
        12: .line 526
      StackMap locals:
      StackMap stack:
            new jdk.vm.ci.common.JVMCIError
            dup
            ldc "Unknown constant pool tag %s"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* tag */
            aastore
            invokespecial jdk.vm.ci.common.JVMCIError.<init>:(Ljava/lang/String;[Ljava/lang/Object;)V
            athrow
        end local 2 // jdk.vm.ci.hotspot.HotSpotConstantPool$JVM_CONSTANT tag
        end local 1 // int cpi
        end local 0 // jdk.vm.ci.hotspot.HotSpotConstantPool this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   13     0    this  Ljdk/vm/ci/hotspot/HotSpotConstantPool;
            0   13     1     cpi  I
            2   13     2     tag  Ljdk/vm/ci/hotspot/HotSpotConstantPool$JVM_CONSTANT;
            9   10     3  string  Ljava/lang/Object;
           11   12     4     obj  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      cpi   

  public java.lang.String lookupUtf8(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.vm.ci.hotspot.HotSpotConstantPool this
        start local 1 // int cpi
         0: .line 532
            getstatic jdk.vm.ci.hotspot.HotSpotConstantPool.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            iload 1 /* cpi */
            getstatic jdk.vm.ci.hotspot.HotSpotConstantPool$JVM_CONSTANT.Utf8:Ljdk/vm/ci/hotspot/HotSpotConstantPool$JVM_CONSTANT;
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool.checkTag:(ILjdk/vm/ci/hotspot/HotSpotConstantPool$JVM_CONSTANT;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 533
      StackMap locals:
      StackMap stack:
            invokestatic jdk.vm.ci.hotspot.CompilerToVM.compilerToVM:()Ljdk/vm/ci/hotspot/CompilerToVM;
            aload 0 /* this */
            iload 1 /* cpi */
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool.getEntryAt:(I)J
            invokevirtual jdk.vm.ci.hotspot.CompilerToVM.getSymbol:(J)Ljava/lang/String;
            areturn
        end local 1 // int cpi
        end local 0 // jdk.vm.ci.hotspot.HotSpotConstantPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/vm/ci/hotspot/HotSpotConstantPool;
            0    2     1   cpi  I
    MethodParameters:
      Name  Flags
      cpi   

  public jdk.vm.ci.meta.Signature lookupSignature(int);
    descriptor: (I)Ljdk/vm/ci/meta/Signature;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // jdk.vm.ci.hotspot.HotSpotConstantPool this
        start local 1 // int cpi
         0: .line 538
            new jdk.vm.ci.hotspot.HotSpotSignature
            dup
            invokestatic jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.runtime:()Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            aload 0 /* this */
            iload 1 /* cpi */
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool.lookupUtf8:(I)Ljava/lang/String;
            invokespecial jdk.vm.ci.hotspot.HotSpotSignature.<init>:(Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntimeProvider;Ljava/lang/String;)V
            areturn
        end local 1 // int cpi
        end local 0 // jdk.vm.ci.hotspot.HotSpotConstantPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/vm/ci/hotspot/HotSpotConstantPool;
            0    1     1   cpi  I
    MethodParameters:
      Name  Flags
      cpi   

  public jdk.vm.ci.meta.JavaConstant lookupAppendix(int, int);
    descriptor: (II)Ljdk/vm/ci/meta/JavaConstant;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // jdk.vm.ci.hotspot.HotSpotConstantPool this
        start local 1 // int cpi
        start local 2 // int opcode
         0: .line 543
            getstatic jdk.vm.ci.hotspot.HotSpotConstantPool.$assertionsDisabled:Z
            ifne 1
            iload 2 /* opcode */
            invokestatic jdk.vm.ci.hotspot.HotSpotConstantPool$Bytecodes.isInvoke:(I)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 544
      StackMap locals:
      StackMap stack:
            iload 1 /* cpi */
            iload 2 /* opcode */
            invokestatic jdk.vm.ci.hotspot.HotSpotConstantPool.rawIndexToConstantPoolIndex:(II)I
            istore 3 /* index */
        start local 3 // int index
         2: .line 545
            invokestatic jdk.vm.ci.hotspot.CompilerToVM.compilerToVM:()Ljdk/vm/ci/hotspot/CompilerToVM;
            aload 0 /* this */
            iload 3 /* index */
            invokevirtual jdk.vm.ci.hotspot.CompilerToVM.lookupAppendixInPool:(Ljdk/vm/ci/hotspot/HotSpotConstantPool;I)Ljava/lang/Object;
            astore 4 /* appendix */
        start local 4 // java.lang.Object appendix
         3: .line 546
            aload 4 /* appendix */
            ifnonnull 5
         4: .line 547
            aconst_null
            areturn
         5: .line 549
      StackMap locals: int java.lang.Object
      StackMap stack:
            aload 4 /* appendix */
            invokestatic jdk.vm.ci.hotspot.HotSpotObjectConstantImpl.forObject:(Ljava/lang/Object;)Ljdk/vm/ci/meta/JavaConstant;
            areturn
        end local 4 // java.lang.Object appendix
        end local 3 // int index
        end local 2 // int opcode
        end local 1 // int cpi
        end local 0 // jdk.vm.ci.hotspot.HotSpotConstantPool this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Ljdk/vm/ci/hotspot/HotSpotConstantPool;
            0    6     1       cpi  I
            0    6     2    opcode  I
            2    6     3     index  I
            3    6     4  appendix  Ljava/lang/Object;
    MethodParameters:
        Name  Flags
      cpi     
      opcode  

  private static jdk.vm.ci.meta.JavaType getJavaType(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljdk/vm/ci/meta/JavaType;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // java.lang.Object type
         0: .line 559
            aload 0 /* type */
            instanceof java.lang.String
            ifeq 3
         1: .line 560
            aload 0 /* type */
            checkcast java.lang.String
            astore 1 /* name */
        start local 1 // java.lang.String name
         2: .line 561
            invokestatic jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.runtime:()Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            new java.lang.StringBuilder
            dup
            ldc "L"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* name */
            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;
            invokestatic jdk.vm.ci.hotspot.HotSpotUnresolvedJavaType.create:(Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntimeProvider;Ljava/lang/String;)Ljdk/vm/ci/hotspot/HotSpotUnresolvedJavaType;
            areturn
        end local 1 // java.lang.String name
         3: .line 563
      StackMap locals:
      StackMap stack:
            aload 0 /* type */
            checkcast jdk.vm.ci.meta.JavaType
            areturn
        end local 0 // java.lang.Object type
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  type  Ljava/lang/Object;
            2    3     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      type  final

  public jdk.vm.ci.meta.JavaMethod lookupMethod(int, int);
    descriptor: (II)Ljdk/vm/ci/meta/JavaMethod;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=10, args_size=3
        start local 0 // jdk.vm.ci.hotspot.HotSpotConstantPool this
        start local 1 // int cpi
        start local 2 // int opcode
         0: .line 569
            iload 1 /* cpi */
            iload 2 /* opcode */
            invokestatic jdk.vm.ci.hotspot.HotSpotConstantPool.rawIndexToConstantPoolIndex:(II)I
            istore 3 /* index */
        start local 3 // int index
         1: .line 570
            invokestatic jdk.vm.ci.hotspot.CompilerToVM.compilerToVM:()Ljdk/vm/ci/hotspot/CompilerToVM;
            aload 0 /* this */
            iload 3 /* index */
            iload 2 /* opcode */
            i2b
            invokevirtual jdk.vm.ci.hotspot.CompilerToVM.lookupMethodInPool:(Ljdk/vm/ci/hotspot/HotSpotConstantPool;IB)Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;
            astore 4 /* method */
        start local 4 // jdk.vm.ci.hotspot.HotSpotResolvedJavaMethod method
         2: .line 571
            aload 4 /* method */
            ifnull 4
         3: .line 572
            aload 4 /* method */
            areturn
         4: .line 575
      StackMap locals: int jdk.vm.ci.hotspot.HotSpotResolvedJavaMethod
      StackMap stack:
            aload 0 /* this */
            iload 3 /* index */
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool.getNameOf:(I)Ljava/lang/String;
            astore 5 /* name */
        start local 5 // java.lang.String name
         5: .line 576
            new jdk.vm.ci.hotspot.HotSpotSignature
            dup
            invokestatic jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.runtime:()Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            aload 0 /* this */
            iload 3 /* index */
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool.getSignatureOf:(I)Ljava/lang/String;
            invokespecial jdk.vm.ci.hotspot.HotSpotSignature.<init>:(Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntimeProvider;Ljava/lang/String;)V
            astore 6 /* signature */
        start local 6 // jdk.vm.ci.hotspot.HotSpotSignature signature
         6: .line 577
            iload 2 /* opcode */
            sipush 186
            if_icmpne 9
         7: .line 578
            ldc Ljava/lang/invoke/MethodHandle;
            invokestatic jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl.fromObjectClass:(Ljava/lang/Class;)Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
            astore 7 /* holder */
        start local 7 // jdk.vm.ci.hotspot.HotSpotResolvedObjectType holder
         8: .line 579
            new jdk.vm.ci.hotspot.HotSpotMethodUnresolved
            dup
            aload 5 /* name */
            aload 6 /* signature */
            aload 7 /* holder */
            invokespecial jdk.vm.ci.hotspot.HotSpotMethodUnresolved.<init>:(Ljava/lang/String;Ljdk/vm/ci/meta/Signature;Ljdk/vm/ci/meta/JavaType;)V
            areturn
        end local 7 // jdk.vm.ci.hotspot.HotSpotResolvedObjectType holder
         9: .line 581
      StackMap locals: java.lang.String jdk.vm.ci.hotspot.HotSpotSignature
      StackMap stack:
            aload 0 /* this */
            iload 3 /* index */
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool.getKlassRefIndexAt:(I)I
            istore 7 /* klassIndex */
        start local 7 // int klassIndex
        10: .line 582
            invokestatic jdk.vm.ci.hotspot.CompilerToVM.compilerToVM:()Ljdk/vm/ci/hotspot/CompilerToVM;
            aload 0 /* this */
            iload 7 /* klassIndex */
            invokevirtual jdk.vm.ci.hotspot.CompilerToVM.lookupKlassInPool:(Ljdk/vm/ci/hotspot/HotSpotConstantPool;I)Ljava/lang/Object;
            astore 8 /* type */
        start local 8 // java.lang.Object type
        11: .line 583
            aload 8 /* type */
            invokestatic jdk.vm.ci.hotspot.HotSpotConstantPool.getJavaType:(Ljava/lang/Object;)Ljdk/vm/ci/meta/JavaType;
            astore 9 /* holder */
        start local 9 // jdk.vm.ci.meta.JavaType holder
        12: .line 584
            new jdk.vm.ci.hotspot.HotSpotMethodUnresolved
            dup
            aload 5 /* name */
            aload 6 /* signature */
            aload 9 /* holder */
            invokespecial jdk.vm.ci.hotspot.HotSpotMethodUnresolved.<init>:(Ljava/lang/String;Ljdk/vm/ci/meta/Signature;Ljdk/vm/ci/meta/JavaType;)V
            areturn
        end local 9 // jdk.vm.ci.meta.JavaType holder
        end local 8 // java.lang.Object type
        end local 7 // int klassIndex
        end local 6 // jdk.vm.ci.hotspot.HotSpotSignature signature
        end local 5 // java.lang.String name
        end local 4 // jdk.vm.ci.hotspot.HotSpotResolvedJavaMethod method
        end local 3 // int index
        end local 2 // int opcode
        end local 1 // int cpi
        end local 0 // jdk.vm.ci.hotspot.HotSpotConstantPool this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   13     0        this  Ljdk/vm/ci/hotspot/HotSpotConstantPool;
            0   13     1         cpi  I
            0   13     2      opcode  I
            1   13     3       index  I
            2   13     4      method  Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethod;
            5   13     5        name  Ljava/lang/String;
            6   13     6   signature  Ljdk/vm/ci/hotspot/HotSpotSignature;
            8    9     7      holder  Ljdk/vm/ci/hotspot/HotSpotResolvedObjectType;
           10   13     7  klassIndex  I
           11   13     8        type  Ljava/lang/Object;
           12   13     9      holder  Ljdk/vm/ci/meta/JavaType;
    MethodParameters:
        Name  Flags
      cpi     
      opcode  

  public jdk.vm.ci.meta.JavaType lookupType(int, int);
    descriptor: (II)Ljdk/vm/ci/meta/JavaType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // jdk.vm.ci.hotspot.HotSpotConstantPool this
        start local 1 // int cpi
        start local 2 // int opcode
         0: .line 591
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotConstantPool.lastLookupType:Ljdk/vm/ci/hotspot/HotSpotConstantPool$LookupTypeCacheElement;
            astore 3 /* elem */
        start local 3 // jdk.vm.ci.hotspot.HotSpotConstantPool$LookupTypeCacheElement elem
         1: .line 592
            aload 3 /* elem */
            ifnull 3
            aload 3 /* elem */
            getfield jdk.vm.ci.hotspot.HotSpotConstantPool$LookupTypeCacheElement.lastCpi:I
            iload 1 /* cpi */
            if_icmpne 3
         2: .line 593
            aload 3 /* elem */
            getfield jdk.vm.ci.hotspot.HotSpotConstantPool$LookupTypeCacheElement.javaType:Ljdk/vm/ci/meta/JavaType;
            areturn
         3: .line 595
      StackMap locals: jdk.vm.ci.hotspot.HotSpotConstantPool$LookupTypeCacheElement
      StackMap stack:
            invokestatic jdk.vm.ci.hotspot.CompilerToVM.compilerToVM:()Ljdk/vm/ci/hotspot/CompilerToVM;
            aload 0 /* this */
            iload 1 /* cpi */
            invokevirtual jdk.vm.ci.hotspot.CompilerToVM.lookupKlassInPool:(Ljdk/vm/ci/hotspot/HotSpotConstantPool;I)Ljava/lang/Object;
            astore 4 /* type */
        start local 4 // java.lang.Object type
         4: .line 596
            aload 4 /* type */
            invokestatic jdk.vm.ci.hotspot.HotSpotConstantPool.getJavaType:(Ljava/lang/Object;)Ljdk/vm/ci/meta/JavaType;
            astore 5 /* result */
        start local 5 // jdk.vm.ci.meta.JavaType result
         5: .line 597
            aload 5 /* result */
            instanceof jdk.vm.ci.meta.ResolvedJavaType
            ifeq 7
         6: .line 598
            aload 0 /* this */
            new jdk.vm.ci.hotspot.HotSpotConstantPool$LookupTypeCacheElement
            dup
            iload 1 /* cpi */
            aload 5 /* result */
            invokespecial jdk.vm.ci.hotspot.HotSpotConstantPool$LookupTypeCacheElement.<init>:(ILjdk/vm/ci/meta/JavaType;)V
            putfield jdk.vm.ci.hotspot.HotSpotConstantPool.lastLookupType:Ljdk/vm/ci/hotspot/HotSpotConstantPool$LookupTypeCacheElement;
         7: .line 600
      StackMap locals: java.lang.Object jdk.vm.ci.meta.JavaType
      StackMap stack:
            aload 5 /* result */
            areturn
        end local 5 // jdk.vm.ci.meta.JavaType result
        end local 4 // java.lang.Object type
        end local 3 // jdk.vm.ci.hotspot.HotSpotConstantPool$LookupTypeCacheElement elem
        end local 2 // int opcode
        end local 1 // int cpi
        end local 0 // jdk.vm.ci.hotspot.HotSpotConstantPool this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Ljdk/vm/ci/hotspot/HotSpotConstantPool;
            0    8     1     cpi  I
            0    8     2  opcode  I
            1    8     3    elem  Ljdk/vm/ci/hotspot/HotSpotConstantPool$LookupTypeCacheElement;
            4    8     4    type  Ljava/lang/Object;
            5    8     5  result  Ljdk/vm/ci/meta/JavaType;
    MethodParameters:
        Name  Flags
      cpi     
      opcode  

  public jdk.vm.ci.meta.JavaField lookupField(int, jdk.vm.ci.meta.ResolvedJavaMethod, int);
    descriptor: (ILjdk/vm/ci/meta/ResolvedJavaMethod;I)Ljdk/vm/ci/meta/JavaField;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=17, args_size=4
        start local 0 // jdk.vm.ci.hotspot.HotSpotConstantPool this
        start local 1 // int cpi
        start local 2 // jdk.vm.ci.meta.ResolvedJavaMethod method
        start local 3 // int opcode
         0: .line 606
            iload 1 /* cpi */
            iload 3 /* opcode */
            invokestatic jdk.vm.ci.hotspot.HotSpotConstantPool.rawIndexToConstantPoolIndex:(II)I
            istore 4 /* index */
        start local 4 // int index
         1: .line 607
            aload 0 /* this */
            iload 4 /* index */
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool.getNameAndTypeRefIndexAt:(I)I
            istore 5 /* nameAndTypeIndex */
        start local 5 // int nameAndTypeIndex
         2: .line 608
            aload 0 /* this */
            iload 5 /* nameAndTypeIndex */
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool.getSignatureRefIndexAt:(I)I
            istore 6 /* typeIndex */
        start local 6 // int typeIndex
         3: .line 609
            aload 0 /* this */
            iload 6 /* typeIndex */
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool.lookupUtf8:(I)Ljava/lang/String;
            astore 7 /* typeName */
        start local 7 // java.lang.String typeName
         4: .line 610
            invokestatic jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.runtime:()Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            aload 7 /* typeName */
            aload 0 /* this */
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool.getHolder:()Ljdk/vm/ci/hotspot/HotSpotResolvedObjectType;
            iconst_0
            invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.lookupType:(Ljava/lang/String;Ljdk/vm/ci/hotspot/HotSpotResolvedObjectType;Z)Ljdk/vm/ci/meta/JavaType;
            astore 8 /* type */
        start local 8 // jdk.vm.ci.meta.JavaType type
         5: .line 612
            aload 0 /* this */
            iload 4 /* index */
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool.getKlassRefIndexAt:(I)I
            istore 9 /* holderIndex */
        start local 9 // int holderIndex
         6: .line 613
            aload 0 /* this */
            iload 9 /* holderIndex */
            iload 3 /* opcode */
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool.lookupType:(II)Ljdk/vm/ci/meta/JavaType;
            astore 10 /* holder */
        start local 10 // jdk.vm.ci.meta.JavaType holder
         7: .line 615
            aload 10 /* holder */
            instanceof jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl
            ifeq 18
         8: .line 616
            iconst_3
            newarray 10
            astore 11 /* info */
        start local 11 // int[] info
         9: .line 619
            invokestatic jdk.vm.ci.hotspot.CompilerToVM.compilerToVM:()Ljdk/vm/ci/hotspot/CompilerToVM;
            aload 0 /* this */
            iload 4 /* index */
            aload 2 /* method */
            checkcast jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl
            iload 3 /* opcode */
            i2b
            aload 11 /* info */
            invokevirtual jdk.vm.ci.hotspot.CompilerToVM.resolveFieldInPool:(Ljdk/vm/ci/hotspot/HotSpotConstantPool;ILjdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl;B[I)Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
            astore 12 /* resolvedHolder */
        start local 12 // jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl resolvedHolder
        10: .line 620
            goto 13
        end local 12 // jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl resolvedHolder
      StackMap locals: jdk.vm.ci.hotspot.HotSpotConstantPool int jdk.vm.ci.meta.ResolvedJavaMethod int int int int java.lang.String jdk.vm.ci.meta.JavaType int jdk.vm.ci.meta.JavaType int[]
      StackMap stack: java.lang.Throwable
        11: pop
        12: .line 625
            new jdk.vm.ci.hotspot.HotSpotUnresolvedField
            dup
            aload 10 /* holder */
            aload 0 /* this */
            aload 0 /* this */
            iload 5 /* nameAndTypeIndex */
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool.getNameRefIndexAt:(I)I
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool.lookupUtf8:(I)Ljava/lang/String;
            aload 8 /* type */
            invokespecial jdk.vm.ci.hotspot.HotSpotUnresolvedField.<init>:(Ljdk/vm/ci/meta/JavaType;Ljava/lang/String;Ljdk/vm/ci/meta/JavaType;)V
            areturn
        start local 12 // jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl resolvedHolder
        13: .line 627
      StackMap locals: jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl
      StackMap stack:
            aload 11 /* info */
            iconst_0
            iaload
            istore 13 /* flags */
        start local 13 // int flags
        14: .line 628
            aload 11 /* info */
            iconst_1
            iaload
            istore 14 /* offset */
        start local 14 // int offset
        15: .line 629
            aload 11 /* info */
            iconst_2
            iaload
            istore 15 /* fieldIndex */
        start local 15 // int fieldIndex
        16: .line 630
            aload 12 /* resolvedHolder */
            aload 8 /* type */
            iload 14 /* offset */
            i2l
            iload 13 /* flags */
            iload 15 /* fieldIndex */
            invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl.createField:(Ljdk/vm/ci/meta/JavaType;JII)Ljdk/vm/ci/hotspot/HotSpotResolvedJavaField;
            astore 16 /* result */
        start local 16 // jdk.vm.ci.hotspot.HotSpotResolvedJavaField result
        17: .line 631
            aload 16 /* result */
            areturn
        end local 16 // jdk.vm.ci.hotspot.HotSpotResolvedJavaField result
        end local 15 // int fieldIndex
        end local 14 // int offset
        end local 13 // int flags
        end local 12 // jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl resolvedHolder
        end local 11 // int[] info
        18: .line 633
      StackMap locals:
      StackMap stack:
            new jdk.vm.ci.hotspot.HotSpotUnresolvedField
            dup
            aload 10 /* holder */
            aload 0 /* this */
            aload 0 /* this */
            iload 5 /* nameAndTypeIndex */
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool.getNameRefIndexAt:(I)I
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool.lookupUtf8:(I)Ljava/lang/String;
            aload 8 /* type */
            invokespecial jdk.vm.ci.hotspot.HotSpotUnresolvedField.<init>:(Ljdk/vm/ci/meta/JavaType;Ljava/lang/String;Ljdk/vm/ci/meta/JavaType;)V
            areturn
        end local 10 // jdk.vm.ci.meta.JavaType holder
        end local 9 // int holderIndex
        end local 8 // jdk.vm.ci.meta.JavaType type
        end local 7 // java.lang.String typeName
        end local 6 // int typeIndex
        end local 5 // int nameAndTypeIndex
        end local 4 // int index
        end local 3 // int opcode
        end local 2 // jdk.vm.ci.meta.ResolvedJavaMethod method
        end local 1 // int cpi
        end local 0 // jdk.vm.ci.hotspot.HotSpotConstantPool this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   19     0              this  Ljdk/vm/ci/hotspot/HotSpotConstantPool;
            0   19     1               cpi  I
            0   19     2            method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            0   19     3            opcode  I
            1   19     4             index  I
            2   19     5  nameAndTypeIndex  I
            3   19     6         typeIndex  I
            4   19     7          typeName  Ljava/lang/String;
            5   19     8              type  Ljdk/vm/ci/meta/JavaType;
            6   19     9       holderIndex  I
            7   19    10            holder  Ljdk/vm/ci/meta/JavaType;
            9   18    11              info  [I
           10   11    12    resolvedHolder  Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
           13   18    12    resolvedHolder  Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
           14   18    13             flags  I
           15   18    14            offset  I
           16   18    15        fieldIndex  I
           17   18    16            result  Ljdk/vm/ci/hotspot/HotSpotResolvedJavaField;
      Exception table:
        from    to  target  type
           9    10      11  Class java.lang.Throwable
    MethodParameters:
        Name  Flags
      cpi     
      method  
      opcode  

  public void loadReferencedType(int, int);
    descriptor: (II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=9, args_size=3
        start local 0 // jdk.vm.ci.hotspot.HotSpotConstantPool this
        start local 1 // int cpi
        start local 2 // int opcode
         0: .line 641
            iload 2 /* opcode */
            lookupswitch { // 17
                   18: 1
                   19: 1
                   20: 1
                  178: 6
                  179: 6
                  180: 6
                  181: 6
                  182: 6
                  183: 6
                  184: 6
                  185: 6
                  186: 3
                  187: 1
                  189: 1
                  192: 1
                  193: 1
                  197: 1
              default: 9
          }
         1: .line 650
      StackMap locals:
      StackMap stack:
            iload 1 /* cpi */
            istore 3 /* index */
        start local 3 // int index
         2: .line 651
            goto 10
        end local 3 // int index
         3: .line 654
      StackMap locals:
      StackMap stack:
            iload 1 /* cpi */
            invokestatic jdk.vm.ci.hotspot.HotSpotConstantPool.decodeConstantPoolCacheIndex:(I)I
            invokestatic jdk.vm.ci.hotspot.HotSpotVMConfig.config:()Ljdk/vm/ci/hotspot/HotSpotVMConfig;
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.constantPoolCpCacheIndexTag:I
            iadd
            istore 3 /* index */
        start local 3 // int index
         4: .line 655
            invokestatic jdk.vm.ci.hotspot.CompilerToVM.compilerToVM:()Ljdk/vm/ci/hotspot/CompilerToVM;
            aload 0 /* this */
            iload 3 /* index */
            invokevirtual jdk.vm.ci.hotspot.CompilerToVM.constantPoolRemapInstructionOperandFromCache:(Ljdk/vm/ci/hotspot/HotSpotConstantPool;I)I
            istore 3 /* index */
         5: .line 656
            goto 10
        end local 3 // int index
         6: .line 667
      StackMap locals:
      StackMap stack:
            iload 1 /* cpi */
            iload 2 /* opcode */
            invokestatic jdk.vm.ci.hotspot.HotSpotConstantPool.rawIndexToConstantPoolIndex:(II)I
            istore 3 /* index */
        start local 3 // int index
         7: .line 668
            invokestatic jdk.vm.ci.hotspot.CompilerToVM.compilerToVM:()Ljdk/vm/ci/hotspot/CompilerToVM;
            aload 0 /* this */
            iload 3 /* index */
            invokevirtual jdk.vm.ci.hotspot.CompilerToVM.constantPoolRemapInstructionOperandFromCache:(Ljdk/vm/ci/hotspot/HotSpotConstantPool;I)I
            istore 3 /* index */
         8: .line 669
            goto 10
        end local 3 // int index
         9: .line 672
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "Unexpected opcode "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* opcode */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic jdk.vm.ci.common.JVMCIError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        start local 3 // int index
        10: .line 675
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 3 /* index */
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool.getTagAt:(I)Ljdk/vm/ci/hotspot/HotSpotConstantPool$JVM_CONSTANT;
            astore 4 /* tag */
        start local 4 // jdk.vm.ci.hotspot.HotSpotConstantPool$JVM_CONSTANT tag
        11: .line 676
            aload 4 /* tag */
            ifnonnull 14
        12: .line 677
            getstatic jdk.vm.ci.hotspot.HotSpotConstantPool.$assertionsDisabled:Z
            ifne 13
            aload 0 /* this */
            iload 3 /* index */
            iconst_1
            isub
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool.getTagAt:(I)Ljdk/vm/ci/hotspot/HotSpotConstantPool$JVM_CONSTANT;
            getstatic jdk.vm.ci.hotspot.HotSpotConstantPool$JVM_CONSTANT.Double:Ljdk/vm/ci/hotspot/HotSpotConstantPool$JVM_CONSTANT;
            if_acmpeq 13
            aload 0 /* this */
            iload 3 /* index */
            iconst_1
            isub
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool.getTagAt:(I)Ljdk/vm/ci/hotspot/HotSpotConstantPool$JVM_CONSTANT;
            getstatic jdk.vm.ci.hotspot.HotSpotConstantPool$JVM_CONSTANT.Long:Ljdk/vm/ci/hotspot/HotSpotConstantPool$JVM_CONSTANT;
            if_acmpeq 13
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        13: .line 678
      StackMap locals: jdk.vm.ci.hotspot.HotSpotConstantPool$JVM_CONSTANT
      StackMap stack:
            return
        14: .line 680
      StackMap locals:
      StackMap stack:
            invokestatic jdk.vm.ci.hotspot.HotSpotConstantPool.$SWITCH_TABLE$jdk$vm$ci$hotspot$HotSpotConstantPool$JVM_CONSTANT:()[I
            aload 4 /* tag */
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool$JVM_CONSTANT.ordinal:()I
            iaload
            tableswitch { // 6 - 18
                    6: 18
                    7: 18
                    8: 18
                    9: 31
                   10: 15
                   11: 15
                   12: 15
                   13: 31
                   14: 31
                   15: 31
                   16: 31
                   17: 31
                   18: 28
              default: 31
          }
        15: .line 684
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 3 /* index */
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool.getUncachedKlassRefIndexAt:(I)I
            istore 3 /* index */
        16: .line 686
            aload 0 /* this */
            iload 3 /* index */
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool.getTagAt:(I)Ljdk/vm/ci/hotspot/HotSpotConstantPool$JVM_CONSTANT;
            astore 5 /* klassTag */
        start local 5 // jdk.vm.ci.hotspot.HotSpotConstantPool$JVM_CONSTANT klassTag
        17: .line 687
            getstatic jdk.vm.ci.hotspot.HotSpotConstantPool.$assertionsDisabled:Z
            ifne 18
            aload 5 /* klassTag */
            getstatic jdk.vm.ci.hotspot.HotSpotConstantPool$JVM_CONSTANT.Class:Ljdk/vm/ci/hotspot/HotSpotConstantPool$JVM_CONSTANT;
            if_acmpeq 18
            aload 5 /* klassTag */
            getstatic jdk.vm.ci.hotspot.HotSpotConstantPool$JVM_CONSTANT.UnresolvedClass:Ljdk/vm/ci/hotspot/HotSpotConstantPool$JVM_CONSTANT;
            if_acmpeq 18
            aload 5 /* klassTag */
            getstatic jdk.vm.ci.hotspot.HotSpotConstantPool$JVM_CONSTANT.UnresolvedClassInError:Ljdk/vm/ci/hotspot/HotSpotConstantPool$JVM_CONSTANT;
            if_acmpeq 18
            new java.lang.AssertionError
            dup
            aload 5 /* klassTag */
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        end local 5 // jdk.vm.ci.hotspot.HotSpotConstantPool$JVM_CONSTANT klassTag
        18: .line 692
      StackMap locals:
      StackMap stack:
            invokestatic jdk.vm.ci.hotspot.CompilerToVM.compilerToVM:()Ljdk/vm/ci/hotspot/CompilerToVM;
            aload 0 /* this */
            iload 3 /* index */
            invokevirtual jdk.vm.ci.hotspot.CompilerToVM.resolveTypeInPool:(Ljdk/vm/ci/hotspot/HotSpotConstantPool;I)Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
            astore 6 /* type */
        start local 6 // jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl type
        19: .line 693
            aload 6 /* type */
            invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl.mirror:()Ljava/lang/Class;
            astore 7 /* klass */
        start local 7 // java.lang.Class klass
        20: .line 694
            aload 7 /* klass */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifne 22
            aload 7 /* klass */
            invokevirtual java.lang.Class.isArray:()Z
            ifne 22
        21: .line 695
            getstatic jdk.vm.ci.hotspot.UnsafeAccess.UNSAFE:Ljdk/internal/misc/Unsafe;
            aload 7 /* klass */
            invokevirtual jdk.internal.misc.Unsafe.ensureClassInitialized:(Ljava/lang/Class;)V
        22: .line 697
      StackMap locals: jdk.vm.ci.hotspot.HotSpotConstantPool int int int jdk.vm.ci.hotspot.HotSpotConstantPool$JVM_CONSTANT top jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl java.lang.Class
      StackMap stack:
            aload 4 /* tag */
            getstatic jdk.vm.ci.hotspot.HotSpotConstantPool$JVM_CONSTANT.MethodRef:Ljdk/vm/ci/hotspot/HotSpotConstantPool$JVM_CONSTANT;
            if_acmpne 31
        23: .line 698
            iload 2 /* opcode */
            invokestatic jdk.vm.ci.hotspot.HotSpotConstantPool$Bytecodes.isInvokeHandleAlias:(I)Z
            ifeq 31
            aload 6 /* type */
            invokestatic jdk.vm.ci.hotspot.HotSpotConstantPool.isSignaturePolymorphicHolder:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
            ifeq 31
        24: .line 699
            iload 1 /* cpi */
            iload 2 /* opcode */
            invokestatic jdk.vm.ci.hotspot.HotSpotConstantPool.rawIndexToConstantPoolIndex:(II)I
            istore 8 /* methodRefCacheIndex */
        start local 8 // int methodRefCacheIndex
        25: .line 700
            getstatic jdk.vm.ci.hotspot.HotSpotConstantPool.$assertionsDisabled:Z
            ifne 26
            aload 0 /* this */
            invokestatic jdk.vm.ci.hotspot.CompilerToVM.compilerToVM:()Ljdk/vm/ci/hotspot/CompilerToVM;
            aload 0 /* this */
            iload 8 /* methodRefCacheIndex */
            invokevirtual jdk.vm.ci.hotspot.CompilerToVM.constantPoolRemapInstructionOperandFromCache:(Ljdk/vm/ci/hotspot/HotSpotConstantPool;I)I
            getstatic jdk.vm.ci.hotspot.HotSpotConstantPool$JVM_CONSTANT.MethodRef:Ljdk/vm/ci/hotspot/HotSpotConstantPool$JVM_CONSTANT;
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool.checkTag:(ILjdk/vm/ci/hotspot/HotSpotConstantPool$JVM_CONSTANT;)Z
            ifne 26
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        26: .line 701
      StackMap locals: int
      StackMap stack:
            invokestatic jdk.vm.ci.hotspot.CompilerToVM.compilerToVM:()Ljdk/vm/ci/hotspot/CompilerToVM;
            aload 0 /* this */
            iload 8 /* methodRefCacheIndex */
            invokevirtual jdk.vm.ci.hotspot.CompilerToVM.resolveInvokeHandleInPool:(Ljdk/vm/ci/hotspot/HotSpotConstantPool;I)V
        end local 8 // int methodRefCacheIndex
        27: .line 705
            goto 31
        end local 7 // java.lang.Class klass
        end local 6 // jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl type
        28: .line 707
      StackMap locals: jdk.vm.ci.hotspot.HotSpotConstantPool int int int jdk.vm.ci.hotspot.HotSpotConstantPool$JVM_CONSTANT
      StackMap stack:
            iload 1 /* cpi */
            invokestatic jdk.vm.ci.hotspot.HotSpotConstantPool.isInvokedynamicIndex:(I)Z
            ifeq 31
        29: .line 708
            invokestatic jdk.vm.ci.hotspot.CompilerToVM.compilerToVM:()Ljdk/vm/ci/hotspot/CompilerToVM;
            aload 0 /* this */
            iload 1 /* cpi */
            invokevirtual jdk.vm.ci.hotspot.CompilerToVM.resolveInvokeDynamicInPool:(Ljdk/vm/ci/hotspot/HotSpotConstantPool;I)V
        30: .line 710
            goto 31
        31: .line 716
      StackMap locals:
      StackMap stack:
            return
        end local 4 // jdk.vm.ci.hotspot.HotSpotConstantPool$JVM_CONSTANT tag
        end local 3 // int index
        end local 2 // int opcode
        end local 1 // int cpi
        end local 0 // jdk.vm.ci.hotspot.HotSpotConstantPool this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   32     0                 this  Ljdk/vm/ci/hotspot/HotSpotConstantPool;
            0   32     1                  cpi  I
            0   32     2               opcode  I
            2    3     3                index  I
            4    6     3                index  I
            7    9     3                index  I
           10   32     3                index  I
           11   32     4                  tag  Ljdk/vm/ci/hotspot/HotSpotConstantPool$JVM_CONSTANT;
           17   18     5             klassTag  Ljdk/vm/ci/hotspot/HotSpotConstantPool$JVM_CONSTANT;
           19   28     6                 type  Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
           20   28     7                klass  Ljava/lang/Class<*>;
           25   27     8  methodRefCacheIndex  I
    MethodParameters:
        Name  Flags
      cpi     
      opcode  

  static boolean isSignaturePolymorphicHolder(jdk.vm.ci.meta.ResolvedJavaType);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaType;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=6, args_size=1
        start local 0 // jdk.vm.ci.meta.ResolvedJavaType type
         0: .line 725
            aload 0 /* type */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getName:()Ljava/lang/String;
            astore 1 /* name */
        start local 1 // java.lang.String name
         1: .line 726
            getstatic jdk.vm.ci.hotspot.HotSpotConstantPool.signaturePolymorphicHolders:[Ljava/lang/String;
            ifnonnull 3
         2: .line 727
            invokestatic jdk.vm.ci.hotspot.CompilerToVM.compilerToVM:()Ljdk/vm/ci/hotspot/CompilerToVM;
            invokevirtual jdk.vm.ci.hotspot.CompilerToVM.getSignaturePolymorphicHolders:()[Ljava/lang/String;
            putstatic jdk.vm.ci.hotspot.HotSpotConstantPool.signaturePolymorphicHolders:[Ljava/lang/String;
         3: .line 729
      StackMap locals: java.lang.String
      StackMap stack:
            getstatic jdk.vm.ci.hotspot.HotSpotConstantPool.signaturePolymorphicHolders:[Ljava/lang/String;
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 8
      StackMap locals: jdk.vm.ci.meta.ResolvedJavaType java.lang.String top int int java.lang.String[]
      StackMap stack:
         4: aload 5
            iload 3
            aaload
            astore 2 /* holder */
        start local 2 // java.lang.String holder
         5: .line 730
            aload 1 /* name */
            aload 2 /* holder */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 7
         6: .line 731
            iconst_1
            ireturn
        end local 2 // java.lang.String holder
         7: .line 729
      StackMap locals:
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
         8: iload 3
            iload 4
            if_icmplt 4
         9: .line 734
            iconst_0
            ireturn
        end local 1 // java.lang.String name
        end local 0 // jdk.vm.ci.meta.ResolvedJavaType type
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    type  Ljdk/vm/ci/meta/ResolvedJavaType;
            1   10     1    name  Ljava/lang/String;
            5    7     2  holder  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      type  final

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // jdk.vm.ci.hotspot.HotSpotConstantPool this
         0: .line 739
            aload 0 /* this */
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool.getHolder:()Ljdk/vm/ci/hotspot/HotSpotResolvedObjectType;
            astore 1 /* holder */
        start local 1 // jdk.vm.ci.hotspot.HotSpotResolvedObjectType holder
         1: .line 740
            new java.lang.StringBuilder
            dup
            ldc "HotSpotConstantPool<"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* holder */
            invokeinterface jdk.vm.ci.hotspot.HotSpotResolvedObjectType.toJavaName:()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 1 // jdk.vm.ci.hotspot.HotSpotResolvedObjectType holder
        end local 0 // jdk.vm.ci.hotspot.HotSpotConstantPool this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Ljdk/vm/ci/hotspot/HotSpotConstantPool;
            1    2     1  holder  Ljdk/vm/ci/hotspot/HotSpotResolvedObjectType;

  static int[] $SWITCH_TABLE$jdk$vm$ci$hotspot$HotSpotConstantPool$JVM_CONSTANT();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 45
            getstatic jdk.vm.ci.hotspot.HotSpotConstantPool.$SWITCH_TABLE$jdk$vm$ci$hotspot$HotSpotConstantPool$JVM_CONSTANT:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic jdk.vm.ci.hotspot.HotSpotConstantPool$JVM_CONSTANT.values:()[Ljdk/vm/ci/hotspot/HotSpotConstantPool$JVM_CONSTANT;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic jdk.vm.ci.hotspot.HotSpotConstantPool$JVM_CONSTANT.Class:Ljdk/vm/ci/hotspot/HotSpotConstantPool$JVM_CONSTANT;
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool$JVM_CONSTANT.ordinal:()I
            bipush 6
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic jdk.vm.ci.hotspot.HotSpotConstantPool$JVM_CONSTANT.Double:Ljdk/vm/ci/hotspot/HotSpotConstantPool$JVM_CONSTANT;
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool$JVM_CONSTANT.ordinal:()I
            iconst_5
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic jdk.vm.ci.hotspot.HotSpotConstantPool$JVM_CONSTANT.Fieldref:Ljdk/vm/ci/hotspot/HotSpotConstantPool$JVM_CONSTANT;
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool$JVM_CONSTANT.ordinal:()I
            bipush 10
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic jdk.vm.ci.hotspot.HotSpotConstantPool$JVM_CONSTANT.Float:Ljdk/vm/ci/hotspot/HotSpotConstantPool$JVM_CONSTANT;
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool$JVM_CONSTANT.ordinal:()I
            iconst_4
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic jdk.vm.ci.hotspot.HotSpotConstantPool$JVM_CONSTANT.Integer:Ljdk/vm/ci/hotspot/HotSpotConstantPool$JVM_CONSTANT;
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool$JVM_CONSTANT.ordinal:()I
            iconst_2
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic jdk.vm.ci.hotspot.HotSpotConstantPool$JVM_CONSTANT.InterfaceMethodref:Ljdk/vm/ci/hotspot/HotSpotConstantPool$JVM_CONSTANT;
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool$JVM_CONSTANT.ordinal:()I
            bipush 12
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            getstatic jdk.vm.ci.hotspot.HotSpotConstantPool$JVM_CONSTANT.InvokeDynamic:Ljdk/vm/ci/hotspot/HotSpotConstantPool$JVM_CONSTANT;
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool$JVM_CONSTANT.ordinal:()I
            bipush 18
            iastore
        21: goto 23
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        22: pop
      StackMap locals:
      StackMap stack:
        23: aload 0
            getstatic jdk.vm.ci.hotspot.HotSpotConstantPool$JVM_CONSTANT.Long:Ljdk/vm/ci/hotspot/HotSpotConstantPool$JVM_CONSTANT;
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool$JVM_CONSTANT.ordinal:()I
            iconst_3
            iastore
        24: goto 26
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        25: pop
      StackMap locals:
      StackMap stack:
        26: aload 0
            getstatic jdk.vm.ci.hotspot.HotSpotConstantPool$JVM_CONSTANT.MethodHandle:Ljdk/vm/ci/hotspot/HotSpotConstantPool$JVM_CONSTANT;
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool$JVM_CONSTANT.ordinal:()I
            bipush 14
            iastore
        27: goto 29
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        28: pop
      StackMap locals:
      StackMap stack:
        29: aload 0
            getstatic jdk.vm.ci.hotspot.HotSpotConstantPool$JVM_CONSTANT.MethodHandleInError:Ljdk/vm/ci/hotspot/HotSpotConstantPool$JVM_CONSTANT;
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool$JVM_CONSTANT.ordinal:()I
            bipush 15
            iastore
        30: goto 32
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        31: pop
      StackMap locals:
      StackMap stack:
        32: aload 0
            getstatic jdk.vm.ci.hotspot.HotSpotConstantPool$JVM_CONSTANT.MethodRef:Ljdk/vm/ci/hotspot/HotSpotConstantPool$JVM_CONSTANT;
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool$JVM_CONSTANT.ordinal:()I
            bipush 11
            iastore
        33: goto 35
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        34: pop
      StackMap locals:
      StackMap stack:
        35: aload 0
            getstatic jdk.vm.ci.hotspot.HotSpotConstantPool$JVM_CONSTANT.MethodType:Ljdk/vm/ci/hotspot/HotSpotConstantPool$JVM_CONSTANT;
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool$JVM_CONSTANT.ordinal:()I
            bipush 16
            iastore
        36: goto 38
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        37: pop
      StackMap locals:
      StackMap stack:
        38: aload 0
            getstatic jdk.vm.ci.hotspot.HotSpotConstantPool$JVM_CONSTANT.MethodTypeInError:Ljdk/vm/ci/hotspot/HotSpotConstantPool$JVM_CONSTANT;
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool$JVM_CONSTANT.ordinal:()I
            bipush 17
            iastore
        39: goto 41
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        40: pop
      StackMap locals:
      StackMap stack:
        41: aload 0
            getstatic jdk.vm.ci.hotspot.HotSpotConstantPool$JVM_CONSTANT.NameAndType:Ljdk/vm/ci/hotspot/HotSpotConstantPool$JVM_CONSTANT;
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool$JVM_CONSTANT.ordinal:()I
            bipush 13
            iastore
        42: goto 44
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        43: pop
      StackMap locals:
      StackMap stack:
        44: aload 0
            getstatic jdk.vm.ci.hotspot.HotSpotConstantPool$JVM_CONSTANT.String:Ljdk/vm/ci/hotspot/HotSpotConstantPool$JVM_CONSTANT;
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool$JVM_CONSTANT.ordinal:()I
            bipush 9
            iastore
        45: goto 47
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        46: pop
      StackMap locals:
      StackMap stack:
        47: aload 0
            getstatic jdk.vm.ci.hotspot.HotSpotConstantPool$JVM_CONSTANT.UnresolvedClass:Ljdk/vm/ci/hotspot/HotSpotConstantPool$JVM_CONSTANT;
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool$JVM_CONSTANT.ordinal:()I
            bipush 7
            iastore
        48: goto 50
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        49: pop
      StackMap locals:
      StackMap stack:
        50: aload 0
            getstatic jdk.vm.ci.hotspot.HotSpotConstantPool$JVM_CONSTANT.UnresolvedClassInError:Ljdk/vm/ci/hotspot/HotSpotConstantPool$JVM_CONSTANT;
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool$JVM_CONSTANT.ordinal:()I
            bipush 8
            iastore
        51: goto 53
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        52: pop
      StackMap locals:
      StackMap stack:
        53: aload 0
            getstatic jdk.vm.ci.hotspot.HotSpotConstantPool$JVM_CONSTANT.Utf8:Ljdk/vm/ci/hotspot/HotSpotConstantPool$JVM_CONSTANT;
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool$JVM_CONSTANT.ordinal:()I
            iconst_1
            iastore
        54: goto 56
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        55: pop
      StackMap locals:
      StackMap stack:
        56: aload 0
            dup
            putstatic jdk.vm.ci.hotspot.HotSpotConstantPool.$SWITCH_TABLE$jdk$vm$ci$hotspot$HotSpotConstantPool$JVM_CONSTANT:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
          17    18      19  Class java.lang.NoSuchFieldError
          20    21      22  Class java.lang.NoSuchFieldError
          23    24      25  Class java.lang.NoSuchFieldError
          26    27      28  Class java.lang.NoSuchFieldError
          29    30      31  Class java.lang.NoSuchFieldError
          32    33      34  Class java.lang.NoSuchFieldError
          35    36      37  Class java.lang.NoSuchFieldError
          38    39      40  Class java.lang.NoSuchFieldError
          41    42      43  Class java.lang.NoSuchFieldError
          44    45      46  Class java.lang.NoSuchFieldError
          47    48      49  Class java.lang.NoSuchFieldError
          50    51      52  Class java.lang.NoSuchFieldError
          53    54      55  Class java.lang.NoSuchFieldError
}
SourceFile: "HotSpotConstantPool.java"
NestMembers:
  jdk.vm.ci.hotspot.HotSpotConstantPool$Bytecodes  jdk.vm.ci.hotspot.HotSpotConstantPool$JVM_CONSTANT  jdk.vm.ci.hotspot.HotSpotConstantPool$JVM_CONSTANT$TagValueMap  jdk.vm.ci.hotspot.HotSpotConstantPool$LookupTypeCacheElement
InnerClasses:
  public Bytecodes = jdk.vm.ci.hotspot.HotSpotConstantPool$Bytecodes of jdk.vm.ci.hotspot.HotSpotConstantPool
  private final JVM_CONSTANT = jdk.vm.ci.hotspot.HotSpotConstantPool$JVM_CONSTANT of jdk.vm.ci.hotspot.HotSpotConstantPool
  private LookupTypeCacheElement = jdk.vm.ci.hotspot.HotSpotConstantPool$LookupTypeCacheElement of jdk.vm.ci.hotspot.HotSpotConstantPool