public final class jdk.vm.ci.hotspot.HotSpotConstantPool implements jdk.vm.ci.meta.ConstantPool, jdk.vm.ci.hotspot.MetaspaceHandleObject
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: jdk.vm.ci.hotspot.HotSpotConstantPool
  super_class: java.lang.Object
{
  private final long metadataHandle;
    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 final jdk.vm.ci.hotspot.HotSpotConstantPool$JvmConstants constants;
    descriptor: Ljdk/vm/ci/hotspot/HotSpotConstantPool$JvmConstants;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 47
            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 795
            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=2, args_size=1
        start local 0 // long metaspaceConstantPool
         0: .line 215
            new jdk.vm.ci.hotspot.HotSpotConstantPool
            dup
            lload 0 /* metaspaceConstantPool */
            invokespecial jdk.vm.ci.hotspot.HotSpotConstantPool.<init>:(J)V
            areturn
        end local 0 // long metaspaceConstantPool
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    1     0  metaspaceConstantPool  J
    RuntimeInvisibleAnnotations: 
      jdk.vm.ci.hotspot.VMEntryPoint()
    RuntimeInvisibleTypeAnnotations: 
      METHOD_RETURN
        jdk.vm.ci.hotspot.VMEntryPoint()
    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 metadataHandle
         0: .line 218
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 219
            aload 0 /* this */
            lload 1 /* metadataHandle */
            putfield jdk.vm.ci.hotspot.HotSpotConstantPool.metadataHandle:J
         2: .line 220
            aload 0 /* this */
            invokestatic jdk.vm.ci.hotspot.HotSpotConstantPool$JvmConstants.instance:()Ljdk/vm/ci/hotspot/HotSpotConstantPool$JvmConstants;
            putfield jdk.vm.ci.hotspot.HotSpotConstantPool.constants:Ljdk/vm/ci/hotspot/HotSpotConstantPool$JvmConstants;
         3: .line 221
            aload 0 /* this */
            lload 1 /* metadataHandle */
            invokestatic jdk.vm.ci.hotspot.HandleCleaner.create:(Ljava/lang/Object;J)V
         4: .line 222
            return
        end local 1 // long metadataHandle
        end local 0 // jdk.vm.ci.hotspot.HotSpotConstantPool this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0            this  Ljdk/vm/ci/hotspot/HotSpotConstantPool;
            0    5     1  metadataHandle  J
    MethodParameters:
                Name  Flags
      metadataHandle  

  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 230
            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:(Ljdk/vm/ci/hotspot/MetaspaceObject;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 rawIndexToConstantPoolCacheIndex(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 243
            iload 1 /* opcode */
            sipush 186
            if_icmpne 3
         1: .line 244
            iload 0 /* rawIndex */
            istore 2 /* index */
        start local 2 // int index
         2: .line 246
            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 248
      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 249
            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 250
      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 252
      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 264
            iload 0 /* index */
            invokestatic jdk.vm.ci.hotspot.HotSpotConstantPool.isInvokedynamicIndex:(I)Z
            ifeq 2
         1: .line 265
            iload 0 /* index */
            invokestatic jdk.vm.ci.hotspot.HotSpotConstantPool.decodeInvokedynamicIndex:(I)I
            ireturn
         2: .line 267
      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 275
            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 282
            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 283
      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 287
            aload 0 /* this */
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool.getMetaspacePointer:()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 getMetadataHandle();
    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 292
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotConstantPool.metadataHandle: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$JvmConstant getTagAt(int);
    descriptor: (I)Ljdk/vm/ci/hotspot/HotSpotConstantPool$JvmConstant;
    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 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:
            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 304
            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 305
            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 306
            iload 5 /* tag */
            ifne 6
         5: .line 307
            aconst_null
            areturn
         6: .line 309
      StackMap locals: jdk.vm.ci.hotspot.HotSpotVMConfig long int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotConstantPool.constants:Ljdk/vm/ci/hotspot/HotSpotConstantPool$JvmConstants;
            iload 5 /* tag */
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool$JvmConstants.get:(I)Ljdk/vm/ci/hotspot/HotSpotConstantPool$JvmConstant;
            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 319
            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 320
      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 321
            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 331
            getstatic jdk.vm.ci.hotspot.HotSpotConstantPool.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            iload 1 /* index */
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotConstantPool.constants:Ljdk/vm/ci/hotspot/HotSpotConstantPool$JvmConstants;
            getfield jdk.vm.ci.hotspot.HotSpotConstantPool$JvmConstants.jvmInteger:Ljdk/vm/ci/hotspot/HotSpotConstantPool$JvmConstant;
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool.checkTag:(ILjdk/vm/ci/hotspot/HotSpotConstantPool$JvmConstant;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 332
      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 333
            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 343
            getstatic jdk.vm.ci.hotspot.HotSpotConstantPool.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            iload 1 /* index */
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotConstantPool.constants:Ljdk/vm/ci/hotspot/HotSpotConstantPool$JvmConstants;
            getfield jdk.vm.ci.hotspot.HotSpotConstantPool$JvmConstants.jvmLong:Ljdk/vm/ci/hotspot/HotSpotConstantPool$JvmConstant;
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool.checkTag:(ILjdk/vm/ci/hotspot/HotSpotConstantPool$JvmConstant;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 344
      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 345
            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 355
            getstatic jdk.vm.ci.hotspot.HotSpotConstantPool.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            iload 1 /* index */
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotConstantPool.constants:Ljdk/vm/ci/hotspot/HotSpotConstantPool$JvmConstants;
            getfield jdk.vm.ci.hotspot.HotSpotConstantPool$JvmConstants.jvmFloat:Ljdk/vm/ci/hotspot/HotSpotConstantPool$JvmConstant;
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool.checkTag:(ILjdk/vm/ci/hotspot/HotSpotConstantPool$JvmConstant;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 356
      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 357
            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 367
            getstatic jdk.vm.ci.hotspot.HotSpotConstantPool.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            iload 1 /* index */
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotConstantPool.constants:Ljdk/vm/ci/hotspot/HotSpotConstantPool$JvmConstants;
            getfield jdk.vm.ci.hotspot.HotSpotConstantPool$JvmConstants.jvmDouble:Ljdk/vm/ci/hotspot/HotSpotConstantPool$JvmConstant;
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool.checkTag:(ILjdk/vm/ci/hotspot/HotSpotConstantPool$JvmConstant;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 368
      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 369
            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 379
            getstatic jdk.vm.ci.hotspot.HotSpotConstantPool.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            iload 1 /* index */
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotConstantPool.constants:Ljdk/vm/ci/hotspot/HotSpotConstantPool$JvmConstants;
            getfield jdk.vm.ci.hotspot.HotSpotConstantPool$JvmConstants.jvmNameAndType:Ljdk/vm/ci/hotspot/HotSpotConstantPool$JvmConstant;
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool.checkTag:(ILjdk/vm/ci/hotspot/HotSpotConstantPool$JvmConstant;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 380
      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 381
            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 392
            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 403
            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 414
            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 416
            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 427
            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 438
            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 440
            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 450
            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 461
            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 462
      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 463
            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 465
            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 475
            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 476
      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$JvmConstant);
    descriptor: (ILjdk/vm/ci/hotspot/HotSpotConstantPool$JvmConstant;)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$JvmConstant tag
         0: .line 487
            aload 0 /* this */
            iload 1 /* index */
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool.getTagAt:(I)Ljdk/vm/ci/hotspot/HotSpotConstantPool$JvmConstant;
            astore 3 /* tagAt */
        start local 3 // jdk.vm.ci.hotspot.HotSpotConstantPool$JvmConstant tagAt
         1: .line 488
            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 489
      StackMap locals: jdk.vm.ci.hotspot.HotSpotConstantPool$JvmConstant
      StackMap stack:
            iconst_1
            ireturn
        end local 3 // jdk.vm.ci.hotspot.HotSpotConstantPool$JvmConstant tagAt
        end local 2 // jdk.vm.ci.hotspot.HotSpotConstantPool$JvmConstant 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$JvmConstant;
            1    3     3  tagAt  Ljdk/vm/ci/hotspot/HotSpotConstantPool$JvmConstant;
    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 501
            aload 0 /* this */
            iload 1 /* index */
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool.getTagAt:(I)Ljdk/vm/ci/hotspot/HotSpotConstantPool$JvmConstant;
            astore 2 /* tagAt */
        start local 2 // jdk.vm.ci.hotspot.HotSpotConstantPool$JvmConstant tagAt
         1: .line 502
            getstatic jdk.vm.ci.hotspot.HotSpotConstantPool.$assertionsDisabled:Z
            ifne 2
            aload 2 /* tagAt */
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotConstantPool.constants:Ljdk/vm/ci/hotspot/HotSpotConstantPool$JvmConstants;
            getfield jdk.vm.ci.hotspot.HotSpotConstantPool$JvmConstants.jvmFieldref:Ljdk/vm/ci/hotspot/HotSpotConstantPool$JvmConstant;
            if_acmpeq 2
            aload 2 /* tagAt */
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotConstantPool.constants:Ljdk/vm/ci/hotspot/HotSpotConstantPool$JvmConstants;
            getfield jdk.vm.ci.hotspot.HotSpotConstantPool$JvmConstants.jvmMethodref:Ljdk/vm/ci/hotspot/HotSpotConstantPool$JvmConstant;
            if_acmpeq 2
            aload 2 /* tagAt */
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotConstantPool.constants:Ljdk/vm/ci/hotspot/HotSpotConstantPool$JvmConstants;
            getfield jdk.vm.ci.hotspot.HotSpotConstantPool$JvmConstants.jvmInterfaceMethodref:Ljdk/vm/ci/hotspot/HotSpotConstantPool$JvmConstant;
            if_acmpeq 2
            new java.lang.AssertionError
            dup
            aload 2 /* tagAt */
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         2: .line 503
      StackMap locals: jdk.vm.ci.hotspot.HotSpotConstantPool$JvmConstant
      StackMap stack:
            iconst_1
            ireturn
        end local 2 // jdk.vm.ci.hotspot.HotSpotConstantPool$JvmConstant 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$JvmConstant;
    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 508
            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 boolean hasDynamicConstant();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.vm.ci.hotspot.HotSpotConstantPool this
         0: .line 512
            aload 0 /* this */
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool.flags:()I
            invokestatic jdk.vm.ci.hotspot.HotSpotVMConfig.config:()Ljdk/vm/ci/hotspot/HotSpotVMConfig;
            getfield jdk.vm.ci.hotspot.HotSpotVMConfig.constantPoolHasDynamicConstant:I
            iand
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // jdk.vm.ci.hotspot.HotSpotConstantPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/vm/ci/hotspot/HotSpotConstantPool;

  private int flags();
    descriptor: ()I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // jdk.vm.ci.hotspot.HotSpotConstantPool this
         0: .line 516
            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.constantPoolFlagsOffset: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=4, args_size=2
        start local 0 // jdk.vm.ci.hotspot.HotSpotConstantPool this
        start local 1 // int cpi
         0: .line 521
            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 522
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* cpi */
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool.getTagAt:(I)Ljdk/vm/ci/hotspot/HotSpotConstantPool$JvmConstant;
            astore 2 /* tag */
        start local 2 // jdk.vm.ci.hotspot.HotSpotConstantPool$JvmConstant tag
         2: .line 523
            aload 2 /* tag */
            getfield jdk.vm.ci.hotspot.HotSpotConstantPool$JvmConstant.name:Ljava/lang/String;
            dup
            astore 3
            invokevirtual java.lang.String.hashCode:()I
            lookupswitch { // 12
          -1895822054: 3
          -1808118735: 4
           -672261858: 5
           -315579833: 6
               420764: 7
              2374300: 8
             65190232: 9
             67973692: 10
            675612552: 11
            817271433: 12
           1270503387: 13
           2052876273: 14
              default: 22
          }
      StackMap locals: jdk.vm.ci.hotspot.HotSpotConstantPool$JvmConstant java.lang.String
      StackMap stack:
         3: aload 3
            ldc "MethodHandleInError"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 21
            goto 22
      StackMap locals:
      StackMap stack:
         4: aload 3
            ldc "String"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 20
            goto 22
      StackMap locals:
      StackMap stack:
         5: aload 3
            ldc "Integer"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 15
            goto 22
      StackMap locals:
      StackMap stack:
         6: aload 3
            ldc "UnresolvedClass"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 19
            goto 22
      StackMap locals:
      StackMap stack:
         7: aload 3
            ldc "UnresolvedClassInError"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 19
            goto 22
      StackMap locals:
      StackMap stack:
         8: aload 3
            ldc "Long"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 16
            goto 22
      StackMap locals:
      StackMap stack:
         9: aload 3
            ldc "Class"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 19
            goto 22
      StackMap locals:
      StackMap stack:
        10: aload 3
            ldc "Float"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 17
            goto 22
      StackMap locals:
      StackMap stack:
        11: aload 3
            ldc "MethodTypeInError"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 21
            goto 22
      StackMap locals:
      StackMap stack:
        12: aload 3
            ldc "MethodHandle"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 21
            goto 22
      StackMap locals:
      StackMap stack:
        13: aload 3
            ldc "MethodType"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 21
            goto 22
      StackMap locals:
      StackMap stack:
        14: aload 3
            ldc "Double"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 18
            goto 22
        15: .line 525
      StackMap locals:
      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
        16: .line 527
      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
        17: .line 529
      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
        18: .line 531
      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
        19: .line 536
      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
        20: .line 543
      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)Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;
            areturn
        21: .line 548
      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)Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;
            areturn
        22: .line 550
      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$JvmConstant tag
        end local 1 // int cpi
        end local 0 // jdk.vm.ci.hotspot.HotSpotConstantPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   23     0  this  Ljdk/vm/ci/hotspot/HotSpotConstantPool;
            0   23     1   cpi  I
            2   23     2   tag  Ljdk/vm/ci/hotspot/HotSpotConstantPool$JvmConstant;
    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 556
            getstatic jdk.vm.ci.hotspot.HotSpotConstantPool.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            iload 1 /* cpi */
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotConstantPool.constants:Ljdk/vm/ci/hotspot/HotSpotConstantPool$JvmConstants;
            getfield jdk.vm.ci.hotspot.HotSpotConstantPool$JvmConstants.jvmUtf8:Ljdk/vm/ci/hotspot/HotSpotConstantPool$JvmConstant;
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool.checkTag:(ILjdk/vm/ci/hotspot/HotSpotConstantPool$JvmConstant;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 557
      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 562
            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/HotSpotJVMCIRuntime;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=4, args_size=3
        start local 0 // jdk.vm.ci.hotspot.HotSpotConstantPool this
        start local 1 // int cpi
        start local 2 // int opcode
         0: .line 567
            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 568
      StackMap locals:
      StackMap stack:
            iload 1 /* cpi */
            iload 2 /* opcode */
            invokestatic jdk.vm.ci.hotspot.HotSpotConstantPool.rawIndexToConstantPoolCacheIndex:(II)I
            istore 3 /* index */
        start local 3 // int index
         2: .line 569
            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)Ljdk/vm/ci/hotspot/HotSpotObjectConstantImpl;
            areturn
        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    3     0    this  Ljdk/vm/ci/hotspot/HotSpotConstantPool;
            0    3     1     cpi  I
            0    3     2  opcode  I
            2    3     3   index  I
    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=3, locals=2, args_size=1
        start local 0 // java.lang.Object type
         0: .line 578
            aload 0 /* type */
            instanceof java.lang.String
            ifeq 3
         1: .line 579
            aload 0 /* type */
            checkcast java.lang.String
            astore 1 /* name */
        start local 1 // java.lang.String name
         2: .line 580
            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.meta.UnresolvedJavaType.create:(Ljava/lang/String;)Ljdk/vm/ci/meta/UnresolvedJavaType;
            areturn
        end local 1 // java.lang.String name
         3: .line 582
      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 588
            iload 1 /* cpi */
            iload 2 /* opcode */
            invokestatic jdk.vm.ci.hotspot.HotSpotConstantPool.rawIndexToConstantPoolCacheIndex:(II)I
            istore 3 /* index */
        start local 3 // int index
         1: .line 589
            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 590
            aload 4 /* method */
            ifnull 4
         3: .line 591
            aload 4 /* method */
            areturn
         4: .line 594
      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 595
            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/HotSpotJVMCIRuntime;Ljava/lang/String;)V
            astore 6 /* signature */
        start local 6 // jdk.vm.ci.hotspot.HotSpotSignature signature
         6: .line 596
            iload 2 /* opcode */
            sipush 186
            if_icmpne 9
         7: .line 597
            invokestatic jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.runtime:()Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.getMethodHandleClass:()Ljdk/vm/ci/hotspot/HotSpotResolvedObjectType;
            astore 7 /* holder */
        start local 7 // jdk.vm.ci.hotspot.HotSpotResolvedObjectType holder
         8: .line 598
            new jdk.vm.ci.meta.UnresolvedJavaMethod
            dup
            aload 5 /* name */
            aload 6 /* signature */
            aload 7 /* holder */
            invokespecial jdk.vm.ci.meta.UnresolvedJavaMethod.<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 600
      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 601
            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 602
            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 603
            new jdk.vm.ci.meta.UnresolvedJavaMethod
            dup
            aload 5 /* name */
            aload 6 /* signature */
            aload 9 /* holder */
            invokespecial jdk.vm.ci.meta.UnresolvedJavaMethod.<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 610
            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 611
            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 612
            aload 3 /* elem */
            getfield jdk.vm.ci.hotspot.HotSpotConstantPool$LookupTypeCacheElement.javaType:Ljdk/vm/ci/meta/JavaType;
            areturn
         3: .line 614
      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 615
            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 616
            aload 5 /* result */
            instanceof jdk.vm.ci.meta.ResolvedJavaType
            ifeq 7
         6: .line 617
            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 619
      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.JavaType lookupReferencedType(int, int);
    descriptor: (II)Ljdk/vm/ci/meta/JavaType;
    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 626
            iload 2 /* opcode */
            lookupswitch { // 16
                   18: 1
                   19: 1
                   20: 1
                  178: 3
                  179: 3
                  180: 3
                  181: 3
                  182: 3
                  183: 3
                  184: 3
                  185: 3
                  187: 1
                  189: 1
                  192: 1
                  193: 1
                  197: 1
              default: 6
          }
         1: .line 635
      StackMap locals:
      StackMap stack:
            iload 1 /* cpi */
            istore 3 /* index */
        start local 3 // int index
         2: .line 636
            goto 7
        end local 3 // int index
         3: .line 645
      StackMap locals:
      StackMap stack:
            iload 1 /* cpi */
            iload 2 /* opcode */
            invokestatic jdk.vm.ci.hotspot.HotSpotConstantPool.rawIndexToConstantPoolCacheIndex:(II)I
            istore 3 /* index */
        start local 3 // int index
         4: .line 646
            aload 0 /* this */
            iload 3 /* index */
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool.getKlassRefIndexAt:(I)I
            istore 3 /* index */
         5: .line 647
            goto 7
        end local 3 // int index
         6: .line 650
      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
         7: .line 652
      StackMap locals: int
      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.lookupKlassInPool:(Ljdk/vm/ci/hotspot/HotSpotConstantPool;I)Ljava/lang/Object;
            astore 4 /* type */
        start local 4 // java.lang.Object type
         8: .line 653
            aload 4 /* type */
            invokestatic jdk.vm.ci.hotspot.HotSpotConstantPool.getJavaType:(Ljava/lang/Object;)Ljdk/vm/ci/meta/JavaType;
            areturn
        end local 4 // java.lang.Object type
        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    9     0    this  Ljdk/vm/ci/hotspot/HotSpotConstantPool;
            0    9     1     cpi  I
            0    9     2  opcode  I
            2    3     3   index  I
            4    6     3   index  I
            7    9     3   index  I
            8    9     4    type  Ljava/lang/Object;
    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 658
            iload 1 /* cpi */
            iload 3 /* opcode */
            invokestatic jdk.vm.ci.hotspot.HotSpotConstantPool.rawIndexToConstantPoolCacheIndex:(II)I
            istore 4 /* index */
        start local 4 // int index
         1: .line 659
            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 660
            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 661
            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 662
            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 664
            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 665
            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 667
            aload 10 /* holder */
            instanceof jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl
            ifeq 18
         8: .line 668
            iconst_3
            newarray 10
            astore 11 /* info */
        start local 11 // int[] info
         9: .line 671
            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 672
            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 677
            new jdk.vm.ci.meta.UnresolvedJavaField
            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.meta.UnresolvedJavaField.<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 679
      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 680
            aload 11 /* info */
            iconst_1
            iaload
            istore 14 /* offset */
        start local 14 // int offset
        15: .line 681
            aload 11 /* info */
            iconst_2
            iaload
            istore 15 /* fieldIndex */
        start local 15 // int fieldIndex
        16: .line 682
            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 683
            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 685
      StackMap locals:
      StackMap stack:
            new jdk.vm.ci.meta.UnresolvedJavaField
            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.meta.UnresolvedJavaField.<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 int rawIndexToConstantPoolIndex(int, int);
    descriptor: (II)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // jdk.vm.ci.hotspot.HotSpotConstantPool this
        start local 1 // int rawIndex
        start local 2 // int opcode
         0: .line 700
            iload 1 /* rawIndex */
            invokestatic jdk.vm.ci.hotspot.HotSpotConstantPool.isInvokedynamicIndex:(I)Z
            ifeq 4
         1: .line 701
            getstatic jdk.vm.ci.hotspot.HotSpotConstantPool.$assertionsDisabled:Z
            ifne 2
            iload 2 /* opcode */
            sipush 186
            if_icmpeq 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 702
      StackMap locals:
      StackMap stack:
            iload 1 /* rawIndex */
            invokestatic jdk.vm.ci.hotspot.HotSpotConstantPool.decodeInvokedynamicIndex:(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
         3: .line 703
            goto 6
        end local 3 // int index
         4: .line 704
      StackMap locals:
      StackMap stack:
            getstatic jdk.vm.ci.hotspot.HotSpotConstantPool.$assertionsDisabled:Z
            ifne 5
            iload 2 /* opcode */
            sipush 186
            if_icmpne 5
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         5: .line 705
      StackMap locals:
      StackMap stack:
            iload 1 /* rawIndex */
            iload 2 /* opcode */
            invokestatic jdk.vm.ci.hotspot.HotSpotConstantPool.rawIndexToConstantPoolCacheIndex:(II)I
            istore 3 /* index */
        start local 3 // int index
         6: .line 707
      StackMap locals: int
      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.constantPoolRemapInstructionOperandFromCache:(Ljdk/vm/ci/hotspot/HotSpotConstantPool;I)I
            ireturn
        end local 3 // int index
        end local 2 // int opcode
        end local 1 // int rawIndex
        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  rawIndex  I
            0    7     2    opcode  I
            3    4     3     index  I
            6    7     3     index  I
    MethodParameters:
          Name  Flags
      rawIndex  
      opcode    

  public void loadReferencedType(int, int);
    descriptor: (II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // jdk.vm.ci.hotspot.HotSpotConstantPool this
        start local 1 // int cpi
        start local 2 // int opcode
         0: .line 712
            aload 0 /* this */
            iload 1 /* cpi */
            iload 2 /* opcode */
            iconst_1
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool.loadReferencedType:(IIZ)V
         1: .line 713
            return
        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    2     0    this  Ljdk/vm/ci/hotspot/HotSpotConstantPool;
            0    2     1     cpi  I
            0    2     2  opcode  I
    MethodParameters:
        Name  Flags
      cpi     
      opcode  

  public void loadReferencedType(int, int, boolean);
    descriptor: (IIZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=10, args_size=4
        start local 0 // jdk.vm.ci.hotspot.HotSpotConstantPool this
        start local 1 // int cpi
        start local 2 // int opcode
        start local 3 // boolean initialize
         0: .line 718
            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 727
      StackMap locals:
      StackMap stack:
            iload 1 /* cpi */
            istore 4 /* index */
        start local 4 // int index
         2: .line 728
            goto 10
        end local 4 // int index
         3: .line 731
      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 4 /* index */
        start local 4 // int index
         4: .line 732
            invokestatic jdk.vm.ci.hotspot.CompilerToVM.compilerToVM:()Ljdk/vm/ci/hotspot/CompilerToVM;
            aload 0 /* this */
            iload 4 /* index */
            invokevirtual jdk.vm.ci.hotspot.CompilerToVM.constantPoolRemapInstructionOperandFromCache:(Ljdk/vm/ci/hotspot/HotSpotConstantPool;I)I
            istore 4 /* index */
         5: .line 733
            goto 10
        end local 4 // int index
         6: .line 744
      StackMap locals:
      StackMap stack:
            iload 1 /* cpi */
            iload 2 /* opcode */
            invokestatic jdk.vm.ci.hotspot.HotSpotConstantPool.rawIndexToConstantPoolCacheIndex:(II)I
            istore 4 /* index */
        start local 4 // int index
         7: .line 745
            invokestatic jdk.vm.ci.hotspot.CompilerToVM.compilerToVM:()Ljdk/vm/ci/hotspot/CompilerToVM;
            aload 0 /* this */
            iload 4 /* index */
            invokevirtual jdk.vm.ci.hotspot.CompilerToVM.constantPoolRemapInstructionOperandFromCache:(Ljdk/vm/ci/hotspot/HotSpotConstantPool;I)I
            istore 4 /* index */
         8: .line 746
            goto 10
        end local 4 // int index
         9: .line 749
      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 4 // int index
        10: .line 752
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 4 /* index */
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool.getTagAt:(I)Ljdk/vm/ci/hotspot/HotSpotConstantPool$JvmConstant;
            astore 5 /* tag */
        start local 5 // jdk.vm.ci.hotspot.HotSpotConstantPool$JvmConstant tag
        11: .line 753
            aload 5 /* tag */
            ifnonnull 14
        12: .line 754
            getstatic jdk.vm.ci.hotspot.HotSpotConstantPool.$assertionsDisabled:Z
            ifne 13
            aload 0 /* this */
            iload 4 /* index */
            iconst_1
            isub
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool.getTagAt:(I)Ljdk/vm/ci/hotspot/HotSpotConstantPool$JvmConstant;
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotConstantPool.constants:Ljdk/vm/ci/hotspot/HotSpotConstantPool$JvmConstants;
            getfield jdk.vm.ci.hotspot.HotSpotConstantPool$JvmConstants.jvmDouble:Ljdk/vm/ci/hotspot/HotSpotConstantPool$JvmConstant;
            if_acmpeq 13
            aload 0 /* this */
            iload 4 /* index */
            iconst_1
            isub
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool.getTagAt:(I)Ljdk/vm/ci/hotspot/HotSpotConstantPool$JvmConstant;
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotConstantPool.constants:Ljdk/vm/ci/hotspot/HotSpotConstantPool$JvmConstants;
            getfield jdk.vm.ci.hotspot.HotSpotConstantPool$JvmConstants.jvmLong:Ljdk/vm/ci/hotspot/HotSpotConstantPool$JvmConstant;
            if_acmpeq 13
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        13: .line 755
      StackMap locals: jdk.vm.ci.hotspot.HotSpotConstantPool$JvmConstant
      StackMap stack:
            return
        14: .line 757
      StackMap locals:
      StackMap stack:
            aload 5 /* tag */
            getfield jdk.vm.ci.hotspot.HotSpotConstantPool$JvmConstant.name:Ljava/lang/String;
            dup
            astore 6
            invokevirtual java.lang.String.hashCode:()I
            lookupswitch { // 7
          -1253872505: 15
           -864345735: 16
           -315579833: 17
               420764: 18
             65190232: 19
            561344249: 20
           1149390834: 21
              default: 37
          }
      StackMap locals: java.lang.String
      StackMap stack:
        15: aload 6
            ldc "InvokeDynamic"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 34
            goto 37
      StackMap locals:
      StackMap stack:
        16: aload 6
            ldc "Fieldref"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 22
            goto 37
      StackMap locals:
      StackMap stack:
        17: aload 6
            ldc "UnresolvedClass"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 25
            goto 37
      StackMap locals:
      StackMap stack:
        18: aload 6
            ldc "UnresolvedClassInError"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 25
            goto 37
      StackMap locals:
      StackMap stack:
        19: aload 6
            ldc "Class"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 25
            goto 37
      StackMap locals:
      StackMap stack:
        20: aload 6
            ldc "InterfaceMethodref"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 22
            goto 37
      StackMap locals:
      StackMap stack:
        21: aload 6
            ldc "Methodref"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 22
            goto 37
        22: .line 761
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 4 /* index */
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool.getUncachedKlassRefIndexAt:(I)I
            istore 4 /* index */
        23: .line 763
            aload 0 /* this */
            iload 4 /* index */
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool.getTagAt:(I)Ljdk/vm/ci/hotspot/HotSpotConstantPool$JvmConstant;
            astore 7 /* klassTag */
        start local 7 // jdk.vm.ci.hotspot.HotSpotConstantPool$JvmConstant klassTag
        24: .line 764
            getstatic jdk.vm.ci.hotspot.HotSpotConstantPool.$assertionsDisabled:Z
            ifne 25
            aload 7 /* klassTag */
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotConstantPool.constants:Ljdk/vm/ci/hotspot/HotSpotConstantPool$JvmConstants;
            getfield jdk.vm.ci.hotspot.HotSpotConstantPool$JvmConstants.jvmClass:Ljdk/vm/ci/hotspot/HotSpotConstantPool$JvmConstant;
            if_acmpeq 25
            aload 7 /* klassTag */
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotConstantPool.constants:Ljdk/vm/ci/hotspot/HotSpotConstantPool$JvmConstants;
            getfield jdk.vm.ci.hotspot.HotSpotConstantPool$JvmConstants.jvmUnresolvedClass:Ljdk/vm/ci/hotspot/HotSpotConstantPool$JvmConstant;
            if_acmpeq 25
            aload 7 /* klassTag */
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotConstantPool.constants:Ljdk/vm/ci/hotspot/HotSpotConstantPool$JvmConstants;
            getfield jdk.vm.ci.hotspot.HotSpotConstantPool$JvmConstants.jvmUnresolvedClassInError:Ljdk/vm/ci/hotspot/HotSpotConstantPool$JvmConstant;
            if_acmpeq 25
            new java.lang.AssertionError
            dup
            aload 7 /* klassTag */
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        end local 7 // jdk.vm.ci.hotspot.HotSpotConstantPool$JvmConstant klassTag
        25: .line 769
      StackMap locals:
      StackMap stack:
            invokestatic jdk.vm.ci.hotspot.CompilerToVM.compilerToVM:()Ljdk/vm/ci/hotspot/CompilerToVM;
            aload 0 /* this */
            iload 4 /* index */
            invokevirtual jdk.vm.ci.hotspot.CompilerToVM.resolveTypeInPool:(Ljdk/vm/ci/hotspot/HotSpotConstantPool;I)Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
            astore 8 /* type */
        start local 8 // jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl type
        26: .line 770
            iload 3 /* initialize */
            ifeq 28
            aload 8 /* type */
            invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl.isPrimitive:()Z
            ifne 28
            aload 8 /* type */
            invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl.isArray:()Z
            ifne 28
        27: .line 771
            aload 8 /* type */
            invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl.ensureInitialized:()V
        28: .line 773
      StackMap locals: jdk.vm.ci.hotspot.HotSpotConstantPool int int int int jdk.vm.ci.hotspot.HotSpotConstantPool$JvmConstant java.lang.String top jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl
      StackMap stack:
            aload 5 /* tag */
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotConstantPool.constants:Ljdk/vm/ci/hotspot/HotSpotConstantPool$JvmConstants;
            getfield jdk.vm.ci.hotspot.HotSpotConstantPool$JvmConstants.jvmMethodref:Ljdk/vm/ci/hotspot/HotSpotConstantPool$JvmConstant;
            if_acmpne 37
        29: .line 774
            iload 2 /* opcode */
            invokestatic jdk.vm.ci.hotspot.HotSpotConstantPool$Bytecodes.isInvokeHandleAlias:(I)Z
            ifeq 37
            aload 8 /* type */
            invokestatic jdk.vm.ci.hotspot.HotSpotConstantPool.isSignaturePolymorphicHolder:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
            ifeq 37
        30: .line 775
            iload 1 /* cpi */
            iload 2 /* opcode */
            invokestatic jdk.vm.ci.hotspot.HotSpotConstantPool.rawIndexToConstantPoolCacheIndex:(II)I
            istore 9 /* methodRefCacheIndex */
        start local 9 // int methodRefCacheIndex
        31: .line 776
            getstatic jdk.vm.ci.hotspot.HotSpotConstantPool.$assertionsDisabled:Z
            ifne 32
            aload 0 /* this */
            invokestatic jdk.vm.ci.hotspot.CompilerToVM.compilerToVM:()Ljdk/vm/ci/hotspot/CompilerToVM;
            aload 0 /* this */
            iload 9 /* methodRefCacheIndex */
            invokevirtual jdk.vm.ci.hotspot.CompilerToVM.constantPoolRemapInstructionOperandFromCache:(Ljdk/vm/ci/hotspot/HotSpotConstantPool;I)I
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotConstantPool.constants:Ljdk/vm/ci/hotspot/HotSpotConstantPool$JvmConstants;
            getfield jdk.vm.ci.hotspot.HotSpotConstantPool$JvmConstants.jvmMethodref:Ljdk/vm/ci/hotspot/HotSpotConstantPool$JvmConstant;
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool.checkTag:(ILjdk/vm/ci/hotspot/HotSpotConstantPool$JvmConstant;)Z
            ifne 32
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        32: .line 777
      StackMap locals: int
      StackMap stack:
            invokestatic jdk.vm.ci.hotspot.CompilerToVM.compilerToVM:()Ljdk/vm/ci/hotspot/CompilerToVM;
            aload 0 /* this */
            iload 9 /* methodRefCacheIndex */
            invokevirtual jdk.vm.ci.hotspot.CompilerToVM.resolveInvokeHandleInPool:(Ljdk/vm/ci/hotspot/HotSpotConstantPool;I)V
        end local 9 // int methodRefCacheIndex
        33: .line 781
            goto 37
        end local 8 // jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl type
        34: .line 783
      StackMap locals: jdk.vm.ci.hotspot.HotSpotConstantPool int int int int jdk.vm.ci.hotspot.HotSpotConstantPool$JvmConstant java.lang.String
      StackMap stack:
            iload 1 /* cpi */
            invokestatic jdk.vm.ci.hotspot.HotSpotConstantPool.isInvokedynamicIndex:(I)Z
            ifeq 37
        35: .line 784
            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
        36: .line 786
            goto 37
        37: .line 792
      StackMap locals:
      StackMap stack:
            return
        end local 5 // jdk.vm.ci.hotspot.HotSpotConstantPool$JvmConstant tag
        end local 4 // int index
        end local 3 // boolean initialize
        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   38     0                 this  Ljdk/vm/ci/hotspot/HotSpotConstantPool;
            0   38     1                  cpi  I
            0   38     2               opcode  I
            0   38     3           initialize  Z
            2    3     4                index  I
            4    6     4                index  I
            7    9     4                index  I
           10   38     4                index  I
           11   38     5                  tag  Ljdk/vm/ci/hotspot/HotSpotConstantPool$JvmConstant;
           24   25     7             klassTag  Ljdk/vm/ci/hotspot/HotSpotConstantPool$JvmConstant;
           26   34     8                 type  Ljdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl;
           31   33     9  methodRefCacheIndex  I
    MethodParameters:
            Name  Flags
      cpi         
      opcode      
      initialize  

  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 803
            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 804
            getstatic jdk.vm.ci.hotspot.HotSpotConstantPool.signaturePolymorphicHolders:[Ljava/lang/String;
            ifnonnull 3
         2: .line 805
            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 807
      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 808
            aload 1 /* name */
            aload 2 /* holder */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 7
         6: .line 809
            iconst_1
            ireturn
        end local 2 // java.lang.String holder
         7: .line 807
      StackMap locals:
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
         8: iload 3
            iload 4
            if_icmplt 4
         9: .line 812
            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;
    RuntimeInvisibleAnnotations: 
      jdk.vm.ci.hotspot.SuppressFBWarnings(value = {"LI_LAZY_INIT_STATIC"}, justification = "signaturePolymorphicHolders is a cache, not a singleton that must be constructed exactly onceand compiler re-ordering is not an issue due to the VM call")
    RuntimeInvisibleTypeAnnotations: 
      METHOD_RETURN
        jdk.vm.ci.hotspot.SuppressFBWarnings(value = {"LI_LAZY_INIT_STATIC"}, justification = "signaturePolymorphicHolders is a cache, not a singleton that must be constructed exactly onceand compiler re-ordering is not an issue due to the VM call")
    MethodParameters:
      Name  Flags
      type  final

  public boolean isResolvedDynamicInvoke(int, int);
    descriptor: (II)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, 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 826
            iload 2 /* opcode */
            invokestatic jdk.vm.ci.hotspot.HotSpotConstantPool$Bytecodes.isInvokeHandleAlias:(I)Z
            ifeq 6
         1: .line 827
            iload 1 /* cpi */
            iload 2 /* opcode */
            invokestatic jdk.vm.ci.hotspot.HotSpotConstantPool.rawIndexToConstantPoolCacheIndex:(II)I
            istore 3 /* methodRefCacheIndex */
        start local 3 // int methodRefCacheIndex
         2: .line 828
            getstatic jdk.vm.ci.hotspot.HotSpotConstantPool.$assertionsDisabled:Z
            ifne 3
            aload 0 /* this */
            invokestatic jdk.vm.ci.hotspot.CompilerToVM.compilerToVM:()Ljdk/vm/ci/hotspot/CompilerToVM;
            aload 0 /* this */
            iload 3 /* methodRefCacheIndex */
            invokevirtual jdk.vm.ci.hotspot.CompilerToVM.constantPoolRemapInstructionOperandFromCache:(Ljdk/vm/ci/hotspot/HotSpotConstantPool;I)I
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.HotSpotConstantPool.constants:Ljdk/vm/ci/hotspot/HotSpotConstantPool$JvmConstants;
            getfield jdk.vm.ci.hotspot.HotSpotConstantPool$JvmConstants.jvmMethodref:Ljdk/vm/ci/hotspot/HotSpotConstantPool$JvmConstant;
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool.checkTag:(ILjdk/vm/ci/hotspot/HotSpotConstantPool$JvmConstant;)Z
            ifne 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 829
      StackMap locals: int
      StackMap stack:
            invokestatic jdk.vm.ci.hotspot.CompilerToVM.compilerToVM:()Ljdk/vm/ci/hotspot/CompilerToVM;
            aload 0 /* this */
            iload 3 /* methodRefCacheIndex */
            invokevirtual jdk.vm.ci.hotspot.CompilerToVM.isResolvedInvokeHandleInPool:(Ljdk/vm/ci/hotspot/HotSpotConstantPool;I)I
            istore 4 /* op */
        start local 4 // int op
         4: .line 830
            iload 4 /* op */
            iload 2 /* opcode */
            if_icmpne 5
            iconst_1
            ireturn
      StackMap locals: int
      StackMap stack:
         5: iconst_0
            ireturn
        end local 4 // int op
        end local 3 // int methodRefCacheIndex
         6: .line 832
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        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    7     0                 this  Ljdk/vm/ci/hotspot/HotSpotConstantPool;
            0    7     1                  cpi  I
            0    7     2               opcode  I
            2    6     3  methodRefCacheIndex  I
            4    6     4                   op  I
    MethodParameters:
        Name  Flags
      cpi     
      opcode  

  public java.lang.String getSourceFileName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // jdk.vm.ci.hotspot.HotSpotConstantPool this
         0: .line 836
            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.constantPoolSourceFileNameIndexOffset:I
            i2l
            ladd
            invokevirtual jdk.internal.misc.Unsafe.getChar:(J)C
            istore 1 /* sourceFileNameIndex */
        start local 1 // int sourceFileNameIndex
         1: .line 837
            iload 1 /* sourceFileNameIndex */
            ifne 3
         2: .line 838
            aconst_null
            areturn
         3: .line 840
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 1 /* sourceFileNameIndex */
            invokevirtual jdk.vm.ci.hotspot.HotSpotConstantPool.lookupUtf8:(I)Ljava/lang/String;
            areturn
        end local 1 // int sourceFileNameIndex
        end local 0 // jdk.vm.ci.hotspot.HotSpotConstantPool this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    4     0                 this  Ljdk/vm/ci/hotspot/HotSpotConstantPool;
            1    4     1  sourceFileNameIndex  I

  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 845
            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 846
            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;
}
SourceFile: "HotSpotConstantPool.java"
NestMembers:
  jdk.vm.ci.hotspot.HotSpotConstantPool$Bytecodes  jdk.vm.ci.hotspot.HotSpotConstantPool$JvmConstant  jdk.vm.ci.hotspot.HotSpotConstantPool$JvmConstants  jdk.vm.ci.hotspot.HotSpotConstantPool$LookupTypeCacheElement
InnerClasses:
  public Bytecodes = jdk.vm.ci.hotspot.HotSpotConstantPool$Bytecodes of jdk.vm.ci.hotspot.HotSpotConstantPool
  final JvmConstant = jdk.vm.ci.hotspot.HotSpotConstantPool$JvmConstant of jdk.vm.ci.hotspot.HotSpotConstantPool
  final JvmConstants = jdk.vm.ci.hotspot.HotSpotConstantPool$JvmConstants of jdk.vm.ci.hotspot.HotSpotConstantPool
  private LookupTypeCacheElement = jdk.vm.ci.hotspot.HotSpotConstantPool$LookupTypeCacheElement of jdk.vm.ci.hotspot.HotSpotConstantPool