public class sun.jvm.hotspot.oops.ConstantPool extends sun.jvm.hotspot.oops.Metadata implements sun.jvm.hotspot.runtime.ClassConstants
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.jvm.hotspot.oops.ConstantPool
super_class: sun.jvm.hotspot.oops.Metadata
{
private static final boolean DEBUG;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static sun.jvm.hotspot.types.AddressField tags;
descriptor: Lsun/jvm/hotspot/types/AddressField;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static sun.jvm.hotspot.types.AddressField operands;
descriptor: Lsun/jvm/hotspot/types/AddressField;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static sun.jvm.hotspot.types.AddressField cache;
descriptor: Lsun/jvm/hotspot/types/AddressField;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static sun.jvm.hotspot.types.AddressField resolved_klasses;
descriptor: Lsun/jvm/hotspot/types/AddressField;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static sun.jvm.hotspot.oops.MetadataField poolHolder;
descriptor: Lsun/jvm/hotspot/oops/MetadataField;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static sun.jvm.hotspot.oops.CIntField length;
descriptor: Lsun/jvm/hotspot/oops/CIntField;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static long ;
descriptor: J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static long elementSize;
descriptor: J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static int INDY_BSM_OFFSET;
descriptor: I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static int INDY_ARGC_OFFSET;
descriptor: I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static int INDY_ARGV_OFFSET;
descriptor: I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static final java.lang.String[] nameForTag;
descriptor: [Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new sun.jvm.hotspot.oops.ConstantPool$1
dup
invokespecial sun.jvm.hotspot.oops.ConstantPool$1.<init>:()V
invokestatic sun.jvm.hotspot.runtime.VM.registerVMInitializedObserver:(Ljava/util/Observer;)V
1: iconst_0
anewarray java.lang.String
putstatic sun.jvm.hotspot.oops.ConstantPool.nameForTag:[Ljava/lang/String;
2: return
LocalVariableTable:
Start End Slot Name Signature
protected void debugMessage(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: getstatic java.lang.System.out:Ljava/io/PrintStream;
aload 1
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/jvm/hotspot/oops/ConstantPool;
0 2 1 message Ljava/lang/String;
MethodParameters:
Name Flags
message
private static synchronized void initialize(sun.jvm.hotspot.types.TypeDataBase);
descriptor: (Lsun/jvm/hotspot/types/TypeDataBase;)V
flags: (0x002a) ACC_PRIVATE, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
ldc "ConstantPool"
invokeinterface sun.jvm.hotspot.types.TypeDataBase.lookupType:(Ljava/lang/String;)Lsun/jvm/hotspot/types/Type;
astore 1
start local 1 1: aload 1
ldc "_tags"
invokeinterface sun.jvm.hotspot.types.Type.getAddressField:(Ljava/lang/String;)Lsun/jvm/hotspot/types/AddressField;
putstatic sun.jvm.hotspot.oops.ConstantPool.tags:Lsun/jvm/hotspot/types/AddressField;
2: aload 1
ldc "_operands"
invokeinterface sun.jvm.hotspot.types.Type.getAddressField:(Ljava/lang/String;)Lsun/jvm/hotspot/types/AddressField;
putstatic sun.jvm.hotspot.oops.ConstantPool.operands:Lsun/jvm/hotspot/types/AddressField;
3: aload 1
ldc "_cache"
invokeinterface sun.jvm.hotspot.types.Type.getAddressField:(Ljava/lang/String;)Lsun/jvm/hotspot/types/AddressField;
putstatic sun.jvm.hotspot.oops.ConstantPool.cache:Lsun/jvm/hotspot/types/AddressField;
4: new sun.jvm.hotspot.oops.MetadataField
dup
aload 1
ldc "_pool_holder"
invokeinterface sun.jvm.hotspot.types.Type.getAddressField:(Ljava/lang/String;)Lsun/jvm/hotspot/types/AddressField;
lconst_0
invokespecial sun.jvm.hotspot.oops.MetadataField.<init>:(Lsun/jvm/hotspot/types/AddressField;J)V
putstatic sun.jvm.hotspot.oops.ConstantPool.poolHolder:Lsun/jvm/hotspot/oops/MetadataField;
5: new sun.jvm.hotspot.oops.CIntField
dup
aload 1
ldc "_length"
invokeinterface sun.jvm.hotspot.types.Type.getCIntegerField:(Ljava/lang/String;)Lsun/jvm/hotspot/types/CIntegerField;
lconst_0
invokespecial sun.jvm.hotspot.oops.CIntField.<init>:(Lsun/jvm/hotspot/types/CIntegerField;J)V
putstatic sun.jvm.hotspot.oops.ConstantPool.length:Lsun/jvm/hotspot/oops/CIntField;
6: aload 1
ldc "_resolved_klasses"
invokeinterface sun.jvm.hotspot.types.Type.getAddressField:(Ljava/lang/String;)Lsun/jvm/hotspot/types/AddressField;
putstatic sun.jvm.hotspot.oops.ConstantPool.resolved_klasses:Lsun/jvm/hotspot/types/AddressField;
7: aload 1
invokeinterface sun.jvm.hotspot.types.Type.getSize:()J
putstatic sun.jvm.hotspot.oops.ConstantPool.headerSize:J
8: lconst_0
putstatic sun.jvm.hotspot.oops.ConstantPool.elementSize:J
9: aload 0
ldc "ConstantPool::_indy_bsm_offset"
invokeinterface sun.jvm.hotspot.types.TypeDataBase.lookupIntConstant:(Ljava/lang/String;)Ljava/lang/Integer;
invokevirtual java.lang.Integer.intValue:()I
putstatic sun.jvm.hotspot.oops.ConstantPool.INDY_BSM_OFFSET:I
10: aload 0
ldc "ConstantPool::_indy_argc_offset"
invokeinterface sun.jvm.hotspot.types.TypeDataBase.lookupIntConstant:(Ljava/lang/String;)Ljava/lang/Integer;
invokevirtual java.lang.Integer.intValue:()I
putstatic sun.jvm.hotspot.oops.ConstantPool.INDY_ARGC_OFFSET:I
11: aload 0
ldc "ConstantPool::_indy_argv_offset"
invokeinterface sun.jvm.hotspot.types.TypeDataBase.lookupIntConstant:(Ljava/lang/String;)Ljava/lang/Integer;
invokevirtual java.lang.Integer.intValue:()I
putstatic sun.jvm.hotspot.oops.ConstantPool.INDY_ARGV_OFFSET:I
12: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 db Lsun/jvm/hotspot/types/TypeDataBase;
1 13 1 type Lsun/jvm/hotspot/types/Type;
Exceptions:
throws sun.jvm.hotspot.types.WrongTypeException
MethodParameters:
Name Flags
db
public void <init>(sun.jvm.hotspot.debugger.Address);
descriptor: (Lsun/jvm/hotspot/debugger/Address;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial sun.jvm.hotspot.oops.Metadata.<init>:(Lsun/jvm/hotspot/debugger/Address;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/jvm/hotspot/oops/ConstantPool;
0 2 1 addr Lsun/jvm/hotspot/debugger/Address;
MethodParameters:
Name Flags
addr
public boolean isConstantPool();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/oops/ConstantPool;
public sun.jvm.hotspot.utilities.U1Array getTags();
descriptor: ()Lsun/jvm/hotspot/utilities/U1Array;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: new sun.jvm.hotspot.utilities.U1Array
dup
getstatic sun.jvm.hotspot.oops.ConstantPool.tags:Lsun/jvm/hotspot/types/AddressField;
aload 0
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getAddress:()Lsun/jvm/hotspot/debugger/Address;
invokeinterface sun.jvm.hotspot.types.AddressField.getValue:(Lsun/jvm/hotspot/debugger/Address;)Lsun/jvm/hotspot/debugger/Address;
invokespecial sun.jvm.hotspot.utilities.U1Array.<init>:(Lsun/jvm/hotspot/debugger/Address;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/oops/ConstantPool;
public sun.jvm.hotspot.utilities.U2Array getOperands();
descriptor: ()Lsun/jvm/hotspot/utilities/U2Array;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: new sun.jvm.hotspot.utilities.U2Array
dup
getstatic sun.jvm.hotspot.oops.ConstantPool.operands:Lsun/jvm/hotspot/types/AddressField;
aload 0
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getAddress:()Lsun/jvm/hotspot/debugger/Address;
invokeinterface sun.jvm.hotspot.types.AddressField.getValue:(Lsun/jvm/hotspot/debugger/Address;)Lsun/jvm/hotspot/debugger/Address;
invokespecial sun.jvm.hotspot.utilities.U2Array.<init>:(Lsun/jvm/hotspot/debugger/Address;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/oops/ConstantPool;
public sun.jvm.hotspot.oops.ConstantPoolCache getCache();
descriptor: ()Lsun/jvm/hotspot/oops/ConstantPoolCache;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: getstatic sun.jvm.hotspot.oops.ConstantPool.cache:Lsun/jvm/hotspot/types/AddressField;
aload 0
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getAddress:()Lsun/jvm/hotspot/debugger/Address;
invokeinterface sun.jvm.hotspot.types.AddressField.getValue:(Lsun/jvm/hotspot/debugger/Address;)Lsun/jvm/hotspot/debugger/Address;
astore 1
start local 1 1: ldc Lsun/jvm/hotspot/oops/ConstantPoolCache;
aload 1
invokestatic sun.jvm.hotspot.runtime.VMObjectFactory.newObject:(Ljava/lang/Class;Lsun/jvm/hotspot/debugger/Address;)Ljava/lang/Object;
checkcast sun.jvm.hotspot.oops.ConstantPoolCache
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/jvm/hotspot/oops/ConstantPool;
1 2 1 addr Lsun/jvm/hotspot/debugger/Address;
public sun.jvm.hotspot.oops.InstanceKlass getPoolHolder();
descriptor: ()Lsun/jvm/hotspot/oops/InstanceKlass;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic sun.jvm.hotspot.oops.ConstantPool.poolHolder:Lsun/jvm/hotspot/oops/MetadataField;
aload 0
invokevirtual sun.jvm.hotspot.oops.MetadataField.getValue:(Lsun/jvm/hotspot/runtime/VMObject;)Lsun/jvm/hotspot/oops/Metadata;
checkcast sun.jvm.hotspot.oops.InstanceKlass
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/oops/ConstantPool;
public int getLength();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic sun.jvm.hotspot.oops.ConstantPool.length:Lsun/jvm/hotspot/oops/CIntField;
aload 0
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getAddress:()Lsun/jvm/hotspot/debugger/Address;
invokevirtual sun.jvm.hotspot.oops.CIntField.getValue:(Lsun/jvm/hotspot/debugger/Address;)J
l2i
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/oops/ConstantPool;
public sun.jvm.hotspot.oops.Oop getResolvedReferences();
descriptor: ()Lsun/jvm/hotspot/oops/Oop;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getCache:()Lsun/jvm/hotspot/oops/ConstantPoolCache;
invokevirtual sun.jvm.hotspot.oops.ConstantPoolCache.getResolvedReferences:()Lsun/jvm/hotspot/oops/Oop;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/oops/ConstantPool;
public sun.jvm.hotspot.utilities.KlassArray getResolvedKlasses();
descriptor: ()Lsun/jvm/hotspot/utilities/KlassArray;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: new sun.jvm.hotspot.utilities.KlassArray
dup
getstatic sun.jvm.hotspot.oops.ConstantPool.resolved_klasses:Lsun/jvm/hotspot/types/AddressField;
aload 0
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getAddress:()Lsun/jvm/hotspot/debugger/Address;
invokeinterface sun.jvm.hotspot.types.AddressField.getValue:(Lsun/jvm/hotspot/debugger/Address;)Lsun/jvm/hotspot/debugger/Address;
invokespecial sun.jvm.hotspot.utilities.KlassArray.<init>:(Lsun/jvm/hotspot/debugger/Address;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/oops/ConstantPool;
public sun.jvm.hotspot.utilities.U2Array referenceMap();
descriptor: ()Lsun/jvm/hotspot/utilities/U2Array;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getCache:()Lsun/jvm/hotspot/oops/ConstantPoolCache;
invokevirtual sun.jvm.hotspot.oops.ConstantPoolCache.referenceMap:()Lsun/jvm/hotspot/utilities/U2Array;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/oops/ConstantPool;
public int objectToCPIndex(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual sun.jvm.hotspot.oops.ConstantPool.referenceMap:()Lsun/jvm/hotspot/utilities/U2Array;
iload 1
invokevirtual sun.jvm.hotspot.utilities.U2Array.at:(I)S
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/oops/ConstantPool;
0 1 1 index I
MethodParameters:
Name Flags
index
private long getElementSize();
descriptor: ()J
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=1, args_size=1
start local 0 0: getstatic sun.jvm.hotspot.oops.ConstantPool.elementSize:J
lconst_0
lcmp
ifeq 2
1: getstatic sun.jvm.hotspot.oops.ConstantPool.elementSize:J
lreturn
2: StackMap locals:
StackMap stack:
invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
invokevirtual sun.jvm.hotspot.runtime.VM.getOopSize:()J
putstatic sun.jvm.hotspot.oops.ConstantPool.elementSize:J
3: getstatic sun.jvm.hotspot.oops.ConstantPool.elementSize:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/jvm/hotspot/oops/ConstantPool;
private long indexOffset(long);
descriptor: (J)J
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: getstatic sun.jvm.hotspot.utilities.Assert.ASSERTS_ENABLED:Z
ifeq 4
1: lload 1
lconst_0
lcmp
iflt 2
lload 1
aload 0
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getLength:()I
i2l
lcmp
ifge 2
iconst_1
goto 3
StackMap locals:
StackMap stack:
2: iconst_0
StackMap locals:
StackMap stack: int
3: new java.lang.StringBuilder
dup
ldc "invalid cp index "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 1
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getLength:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic sun.jvm.hotspot.utilities.Assert.that:(ZLjava/lang/String;)V
4: StackMap locals:
StackMap stack:
lload 1
aload 0
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getElementSize:()J
lmul
getstatic sun.jvm.hotspot.oops.ConstantPool.headerSize:J
ladd
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/jvm/hotspot/oops/ConstantPool;
0 5 1 index J
MethodParameters:
Name Flags
index
public sun.jvm.hotspot.utilities.ConstantTag getTagAt(long);
descriptor: (J)Lsun/jvm/hotspot/utilities/ConstantTag;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: new sun.jvm.hotspot.utilities.ConstantTag
dup
aload 0
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getTags:()Lsun/jvm/hotspot/utilities/U1Array;
lload 1
l2i
invokevirtual sun.jvm.hotspot.utilities.U1Array.at:(I)B
invokespecial sun.jvm.hotspot.utilities.ConstantTag.<init>:(B)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/oops/ConstantPool;
0 1 1 index J
MethodParameters:
Name Flags
index
public sun.jvm.hotspot.oops.ConstantPool$CPSlot getSlotAt(long);
descriptor: (J)Lsun/jvm/hotspot/oops/ConstantPool$CPSlot;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: new sun.jvm.hotspot.oops.ConstantPool$CPSlot
dup
aload 0
aload 0
lload 1
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getAddressAtRaw:(J)Lsun/jvm/hotspot/debugger/Address;
invokespecial sun.jvm.hotspot.oops.ConstantPool$CPSlot.<init>:(Lsun/jvm/hotspot/oops/ConstantPool;Lsun/jvm/hotspot/debugger/Address;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/oops/ConstantPool;
0 1 1 index J
MethodParameters:
Name Flags
index
public sun.jvm.hotspot.oops.ConstantPool$CPKlassSlot getKlassSlotAt(long);
descriptor: (J)Lsun/jvm/hotspot/oops/ConstantPool$CPKlassSlot;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: getstatic sun.jvm.hotspot.utilities.Assert.ASSERTS_ENABLED:Z
ifeq 4
1: aload 0
lload 1
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getTagAt:(J)Lsun/jvm/hotspot/utilities/ConstantTag;
invokevirtual sun.jvm.hotspot.utilities.ConstantTag.isUnresolvedKlass:()Z
ifne 2
aload 0
lload 1
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getTagAt:(J)Lsun/jvm/hotspot/utilities/ConstantTag;
invokevirtual sun.jvm.hotspot.utilities.ConstantTag.isKlass:()Z
ifne 2
iconst_0
goto 3
StackMap locals:
StackMap stack:
2: iconst_1
StackMap locals:
StackMap stack: int
3: ldc "Corrupted constant pool"
invokestatic sun.jvm.hotspot.utilities.Assert.that:(ZLjava/lang/String;)V
4: StackMap locals:
StackMap stack:
aload 0
lload 1
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getIntAt:(J)I
istore 3
start local 3 5: iload 3
invokestatic sun.jvm.hotspot.oops.ConstantPool.extractHighShortFromInt:(I)I
istore 4
start local 4 6: iload 3
invokestatic sun.jvm.hotspot.oops.ConstantPool.extractLowShortFromInt:(I)I
istore 5
start local 5 7: new sun.jvm.hotspot.oops.ConstantPool$CPKlassSlot
dup
aload 0
iload 4
iload 5
invokespecial sun.jvm.hotspot.oops.ConstantPool$CPKlassSlot.<init>:(Lsun/jvm/hotspot/oops/ConstantPool;II)V
areturn
end local 5 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/jvm/hotspot/oops/ConstantPool;
0 8 1 index J
5 8 3 value I
6 8 4 name_index I
7 8 5 resolved_klass_index I
MethodParameters:
Name Flags
index
public sun.jvm.hotspot.debugger.Address getAddressAtRaw(long);
descriptor: (J)Lsun/jvm/hotspot/debugger/Address;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getAddress:()Lsun/jvm/hotspot/debugger/Address;
aload 0
lload 1
invokevirtual sun.jvm.hotspot.oops.ConstantPool.indexOffset:(J)J
invokeinterface sun.jvm.hotspot.debugger.Address.getAddressAt:(J)Lsun/jvm/hotspot/debugger/Address;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/oops/ConstantPool;
0 1 1 index J
MethodParameters:
Name Flags
index
public sun.jvm.hotspot.oops.Symbol getSymbolAt(long);
descriptor: (J)Lsun/jvm/hotspot/oops/Symbol;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
lload 1
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getAddressAtRaw:(J)Lsun/jvm/hotspot/debugger/Address;
invokestatic sun.jvm.hotspot.oops.Symbol.create:(Lsun/jvm/hotspot/debugger/Address;)Lsun/jvm/hotspot/oops/Symbol;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/oops/ConstantPool;
0 1 1 index J
MethodParameters:
Name Flags
index
public int getIntAt(long);
descriptor: (J)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getAddress:()Lsun/jvm/hotspot/debugger/Address;
aload 0
lload 1
invokevirtual sun.jvm.hotspot.oops.ConstantPool.indexOffset:(J)J
invokeinterface sun.jvm.hotspot.debugger.Address.getJIntAt:(J)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/oops/ConstantPool;
0 1 1 index J
MethodParameters:
Name Flags
index
public float getFloatAt(long);
descriptor: (J)F
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getAddress:()Lsun/jvm/hotspot/debugger/Address;
aload 0
lload 1
invokevirtual sun.jvm.hotspot.oops.ConstantPool.indexOffset:(J)J
invokeinterface sun.jvm.hotspot.debugger.Address.getJFloatAt:(J)F
freturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/oops/ConstantPool;
0 1 1 index J
MethodParameters:
Name Flags
index
public long getLongAt(long);
descriptor: (J)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getAddress:()Lsun/jvm/hotspot/debugger/Address;
aload 0
lload 1
lconst_1
ladd
invokevirtual sun.jvm.hotspot.oops.ConstantPool.indexOffset:(J)J
invokeinterface sun.jvm.hotspot.debugger.Address.getJIntAt:(J)I
istore 3
start local 3 1: aload 0
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getAddress:()Lsun/jvm/hotspot/debugger/Address;
aload 0
lload 1
invokevirtual sun.jvm.hotspot.oops.ConstantPool.indexOffset:(J)J
invokeinterface sun.jvm.hotspot.debugger.Address.getJIntAt:(J)I
istore 4
start local 4 2: invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
iload 3
iload 4
invokevirtual sun.jvm.hotspot.runtime.VM.buildLongFromIntsPD:(II)J
lreturn
end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/jvm/hotspot/oops/ConstantPool;
0 3 1 index J
1 3 3 oneHalf I
2 3 4 otherHalf I
MethodParameters:
Name Flags
index
public double getDoubleAt(long);
descriptor: (J)D
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
lload 1
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getLongAt:(J)J
invokestatic java.lang.Double.longBitsToDouble:(J)D
dreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/oops/ConstantPool;
0 1 1 index J
MethodParameters:
Name Flags
index
public int getFieldOrMethodAt(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: iconst_m1
istore 2
start local 2 1: aload 0
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getCache:()Lsun/jvm/hotspot/oops/ConstantPoolCache;
astore 3
start local 3 2: aload 3
ifnonnull 5
3: iload 1
istore 2
4: goto 6
5: StackMap locals: int sun.jvm.hotspot.oops.ConstantPoolCache
StackMap stack:
aload 3
ldc 65535
iload 1
iand
invokevirtual sun.jvm.hotspot.oops.ConstantPoolCache.getEntryAt:(I)Lsun/jvm/hotspot/oops/ConstantPoolCacheEntry;
invokevirtual sun.jvm.hotspot.oops.ConstantPoolCacheEntry.getConstantPoolIndex:()I
istore 2
6: StackMap locals:
StackMap stack:
getstatic sun.jvm.hotspot.utilities.Assert.ASSERTS_ENABLED:Z
ifeq 8
7: aload 0
iload 2
i2l
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getTagAt:(J)Lsun/jvm/hotspot/utilities/ConstantTag;
invokevirtual sun.jvm.hotspot.utilities.ConstantTag.isFieldOrMethod:()Z
ldc "Corrupted constant pool"
invokestatic sun.jvm.hotspot.utilities.Assert.that:(ZLjava/lang/String;)V
8: StackMap locals:
StackMap stack:
aload 0
iload 2
i2l
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getIntAt:(J)I
istore 4
start local 4 9: iload 4
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/jvm/hotspot/oops/ConstantPool;
0 10 1 which I
1 10 2 i I
2 10 3 cache Lsun/jvm/hotspot/oops/ConstantPoolCache;
9 10 4 res I
MethodParameters:
Name Flags
which
public int[] getNameAndTypeAt(int);
descriptor: (I)[I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: getstatic sun.jvm.hotspot.utilities.Assert.ASSERTS_ENABLED:Z
ifeq 2
1: aload 0
iload 1
i2l
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getTagAt:(J)Lsun/jvm/hotspot/utilities/ConstantTag;
invokevirtual sun.jvm.hotspot.utilities.ConstantTag.isNameAndType:()Z
new java.lang.StringBuilder
dup
ldc "Corrupted constant pool: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
iload 1
i2l
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getTagAt:(J)Lsun/jvm/hotspot/utilities/ConstantTag;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic sun.jvm.hotspot.utilities.Assert.that:(ZLjava/lang/String;)V
2: StackMap locals:
StackMap stack:
aload 0
iload 1
i2l
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getIntAt:(J)I
istore 2
start local 2 3: iconst_2
newarray 10
dup
iconst_0
iload 2
invokestatic sun.jvm.hotspot.oops.ConstantPool.extractLowShortFromInt:(I)I
iastore
dup
iconst_1
iload 2
invokestatic sun.jvm.hotspot.oops.ConstantPool.extractHighShortFromInt:(I)I
iastore
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/jvm/hotspot/oops/ConstantPool;
0 4 1 which I
3 4 2 i I
MethodParameters:
Name Flags
which
public sun.jvm.hotspot.oops.Symbol getNameRefAt(int);
descriptor: (I)Lsun/jvm/hotspot/oops/Symbol;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
iconst_0
invokevirtual sun.jvm.hotspot.oops.ConstantPool.implGetNameRefAt:(IZ)Lsun/jvm/hotspot/oops/Symbol;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/oops/ConstantPool;
0 1 1 which I
MethodParameters:
Name Flags
which
public sun.jvm.hotspot.oops.Symbol uncachedGetNameRefAt(int);
descriptor: (I)Lsun/jvm/hotspot/oops/Symbol;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
iconst_1
invokevirtual sun.jvm.hotspot.oops.ConstantPool.implGetNameRefAt:(IZ)Lsun/jvm/hotspot/oops/Symbol;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/oops/ConstantPool;
0 1 1 which I
MethodParameters:
Name Flags
which
private sun.jvm.hotspot.oops.Symbol implGetNameRefAt(int, boolean);
descriptor: (IZ)Lsun/jvm/hotspot/oops/Symbol;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 0
iload 1
iload 2
invokevirtual sun.jvm.hotspot.oops.ConstantPool.implNameAndTypeRefIndexAt:(IZ)I
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getNameRefIndexAt:(I)I
istore 3
start local 3 1: aload 0
iload 3
i2l
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getSymbolAt:(J)Lsun/jvm/hotspot/oops/Symbol;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/jvm/hotspot/oops/ConstantPool;
0 2 1 which I
0 2 2 uncached Z
1 2 3 signatureIndex I
MethodParameters:
Name Flags
which
uncached
public sun.jvm.hotspot.oops.Symbol getSignatureRefAt(int);
descriptor: (I)Lsun/jvm/hotspot/oops/Symbol;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
iconst_0
invokevirtual sun.jvm.hotspot.oops.ConstantPool.implGetSignatureRefAt:(IZ)Lsun/jvm/hotspot/oops/Symbol;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/oops/ConstantPool;
0 1 1 which I
MethodParameters:
Name Flags
which
public sun.jvm.hotspot.oops.Symbol uncachedGetSignatureRefAt(int);
descriptor: (I)Lsun/jvm/hotspot/oops/Symbol;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
iconst_1
invokevirtual sun.jvm.hotspot.oops.ConstantPool.implGetSignatureRefAt:(IZ)Lsun/jvm/hotspot/oops/Symbol;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/oops/ConstantPool;
0 1 1 which I
MethodParameters:
Name Flags
which
private sun.jvm.hotspot.oops.Symbol implGetSignatureRefAt(int, boolean);
descriptor: (IZ)Lsun/jvm/hotspot/oops/Symbol;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 0
iload 1
iload 2
invokevirtual sun.jvm.hotspot.oops.ConstantPool.implNameAndTypeRefIndexAt:(IZ)I
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getSignatureRefIndexAt:(I)I
istore 3
start local 3 1: aload 0
iload 3
i2l
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getSymbolAt:(J)Lsun/jvm/hotspot/oops/Symbol;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/jvm/hotspot/oops/ConstantPool;
0 2 1 which I
0 2 2 uncached Z
1 2 3 signatureIndex I
MethodParameters:
Name Flags
which
uncached
public static boolean isInvokedynamicIndex(int);
descriptor: (I)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iload 0
ifge 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 i I
MethodParameters:
Name Flags
i
public static int decodeInvokedynamicIndex(int);
descriptor: (I)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
invokestatic sun.jvm.hotspot.oops.ConstantPool.isInvokedynamicIndex:(I)Z
ldc ""
invokestatic sun.jvm.hotspot.utilities.Assert.that:(ZLjava/lang/String;)V
iload 0
iconst_m1
ixor
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 i I
MethodParameters:
Name Flags
i
public int invokedynamicCPCacheIndex(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 1
invokestatic sun.jvm.hotspot.oops.ConstantPool.isInvokedynamicIndex:(I)Z
ldc "should be a invokedynamic index"
invokestatic sun.jvm.hotspot.utilities.Assert.that:(ZLjava/lang/String;)V
1: iload 1
invokestatic sun.jvm.hotspot.oops.ConstantPool.decodeInvokedynamicIndex:(I)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/jvm/hotspot/oops/ConstantPool;
0 2 1 index I
MethodParameters:
Name Flags
index
sun.jvm.hotspot.oops.ConstantPoolCacheEntry invokedynamicCPCacheEntryAt(int);
descriptor: (I)Lsun/jvm/hotspot/oops/ConstantPoolCacheEntry;
flags: (0x0000)
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokevirtual sun.jvm.hotspot.oops.ConstantPool.invokedynamicCPCacheIndex:(I)I
istore 2
start local 2 1: aload 0
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getCache:()Lsun/jvm/hotspot/oops/ConstantPoolCache;
iload 2
invokevirtual sun.jvm.hotspot.oops.ConstantPoolCache.getEntryAt:(I)Lsun/jvm/hotspot/oops/ConstantPoolCacheEntry;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/jvm/hotspot/oops/ConstantPool;
0 2 1 index I
1 2 2 cpCacheIndex I
MethodParameters:
Name Flags
index
private int implNameAndTypeRefIndexAt(int, boolean);
descriptor: (IZ)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: iload 1
istore 3
start local 3 1: iload 2
ifne 9
aload 0
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getCache:()Lsun/jvm/hotspot/oops/ConstantPoolCache;
ifnull 9
2: iload 1
invokestatic sun.jvm.hotspot.oops.ConstantPool.isInvokedynamicIndex:(I)Z
ifeq 7
3: aload 0
iload 1
invokevirtual sun.jvm.hotspot.oops.ConstantPool.invokedynamicCPCacheEntryAt:(I)Lsun/jvm/hotspot/oops/ConstantPoolCacheEntry;
invokevirtual sun.jvm.hotspot.oops.ConstantPoolCacheEntry.getConstantPoolIndex:()I
istore 4
start local 4 4: aload 0
iload 4
invokevirtual sun.jvm.hotspot.oops.ConstantPool.invokeDynamicNameAndTypeRefIndexAt:(I)I
istore 4
5: aload 0
iload 4
i2l
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getTagAt:(J)Lsun/jvm/hotspot/utilities/ConstantTag;
invokevirtual sun.jvm.hotspot.utilities.ConstantTag.isNameAndType:()Z
ldc ""
invokestatic sun.jvm.hotspot.utilities.Assert.that:(ZLjava/lang/String;)V
6: iload 4
ireturn
end local 4 7: StackMap locals: int
StackMap stack:
aload 0
iload 1
invokevirtual sun.jvm.hotspot.oops.ConstantPool.remapInstructionOperandFromCache:(I)I
istore 3
8: goto 13
9: StackMap locals:
StackMap stack:
aload 0
iload 1
i2l
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getTagAt:(J)Lsun/jvm/hotspot/utilities/ConstantTag;
invokevirtual sun.jvm.hotspot.utilities.ConstantTag.isInvokeDynamic:()Z
ifeq 13
10: aload 0
iload 1
invokevirtual sun.jvm.hotspot.oops.ConstantPool.invokeDynamicNameAndTypeRefIndexAt:(I)I
istore 4
start local 4 11: aload 0
iload 4
i2l
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getTagAt:(J)Lsun/jvm/hotspot/utilities/ConstantTag;
invokevirtual sun.jvm.hotspot.utilities.ConstantTag.isNameAndType:()Z
ldc ""
invokestatic sun.jvm.hotspot.utilities.Assert.that:(ZLjava/lang/String;)V
12: iload 4
ireturn
end local 4 13: StackMap locals:
StackMap stack:
aload 0
iload 3
i2l
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getIntAt:(J)I
istore 4
start local 4 14: iload 4
invokestatic sun.jvm.hotspot.oops.ConstantPool.extractHighShortFromInt:(I)I
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lsun/jvm/hotspot/oops/ConstantPool;
0 15 1 which I
0 15 2 uncached Z
1 15 3 i I
4 7 4 poolIndex I
11 13 4 poolIndex I
14 15 4 refIndex I
MethodParameters:
Name Flags
which
uncached
private int remapInstructionOperandFromCache(int);
descriptor: (I)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: iload 1
istore 2
start local 2 1: aload 0
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getCache:()Lsun/jvm/hotspot/oops/ConstantPoolCache;
iload 2
invokevirtual sun.jvm.hotspot.oops.ConstantPoolCache.getEntryAt:(I)Lsun/jvm/hotspot/oops/ConstantPoolCacheEntry;
invokevirtual sun.jvm.hotspot.oops.ConstantPoolCacheEntry.getConstantPoolIndex:()I
istore 3
start local 3 2: iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/jvm/hotspot/oops/ConstantPool;
0 3 1 operand I
1 3 2 cpc_index I
2 3 3 member_index I
MethodParameters:
Name Flags
operand
public int invokeDynamicNameAndTypeRefIndexAt(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
i2l
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getIntAt:(J)I
invokestatic sun.jvm.hotspot.oops.ConstantPool.extractHighShortFromInt:(I)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/oops/ConstantPool;
0 1 1 which I
MethodParameters:
Name Flags
which
public sun.jvm.hotspot.oops.Klass getKlassAt(int);
descriptor: (I)Lsun/jvm/hotspot/oops/Klass;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
iload 1
i2l
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getTagAt:(J)Lsun/jvm/hotspot/utilities/ConstantTag;
invokevirtual sun.jvm.hotspot.utilities.ConstantTag.isKlass:()Z
ifne 1
aconst_null
areturn
1: StackMap locals:
StackMap stack:
aload 0
iload 1
i2l
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getKlassSlotAt:(J)Lsun/jvm/hotspot/oops/ConstantPool$CPKlassSlot;
invokevirtual sun.jvm.hotspot.oops.ConstantPool$CPKlassSlot.getResolvedKlassIndex:()I
istore 2
start local 2 2: aload 0
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getResolvedKlasses:()Lsun/jvm/hotspot/utilities/KlassArray;
astore 3
start local 3 3: aload 3
iload 2
invokevirtual sun.jvm.hotspot.utilities.KlassArray.getAt:(I)Lsun/jvm/hotspot/oops/Klass;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/jvm/hotspot/oops/ConstantPool;
0 4 1 which I
2 4 2 resolved_klass_index I
3 4 3 resolved_klasses Lsun/jvm/hotspot/utilities/KlassArray;
MethodParameters:
Name Flags
which
public sun.jvm.hotspot.oops.Symbol getKlassNameAt(int);
descriptor: (I)Lsun/jvm/hotspot/oops/Symbol;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
iload 1
i2l
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getKlassSlotAt:(J)Lsun/jvm/hotspot/oops/ConstantPool$CPKlassSlot;
invokevirtual sun.jvm.hotspot.oops.ConstantPool$CPKlassSlot.getNameIndex:()I
istore 2
start local 2 1: aload 0
iload 2
i2l
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getSymbolAt:(J)Lsun/jvm/hotspot/oops/Symbol;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/jvm/hotspot/oops/ConstantPool;
0 2 1 which I
1 2 2 name_index I
MethodParameters:
Name Flags
which
public sun.jvm.hotspot.oops.Symbol getUnresolvedStringAt(int);
descriptor: (I)Lsun/jvm/hotspot/oops/Symbol;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
i2l
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getSlotAt:(J)Lsun/jvm/hotspot/oops/ConstantPool$CPSlot;
invokevirtual sun.jvm.hotspot.oops.ConstantPool$CPSlot.getSymbol:()Lsun/jvm/hotspot/oops/Symbol;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/oops/ConstantPool;
0 1 1 which I
MethodParameters:
Name Flags
which
public sun.jvm.hotspot.oops.InstanceKlass getFieldOrMethodKlassRefAt(int);
descriptor: (I)Lsun/jvm/hotspot/oops/InstanceKlass;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getFieldOrMethodAt:(I)I
istore 2
start local 2 1: iload 2
invokestatic sun.jvm.hotspot.oops.ConstantPool.extractLowShortFromInt:(I)I
istore 3
start local 3 2: aload 0
iload 3
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getKlassAt:(I)Lsun/jvm/hotspot/oops/Klass;
checkcast sun.jvm.hotspot.oops.InstanceKlass
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/jvm/hotspot/oops/ConstantPool;
0 3 1 which I
1 3 2 refIndex I
2 3 3 klassIndex I
MethodParameters:
Name Flags
which
public sun.jvm.hotspot.oops.Method getMethodRefAt(int);
descriptor: (I)Lsun/jvm/hotspot/oops/Method;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getFieldOrMethodKlassRefAt:(I)Lsun/jvm/hotspot/oops/InstanceKlass;
astore 2
start local 2 1: aload 2
ifnonnull 2
aconst_null
areturn
2: StackMap locals: sun.jvm.hotspot.oops.InstanceKlass
StackMap stack:
aload 0
iload 1
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getNameRefAt:(I)Lsun/jvm/hotspot/oops/Symbol;
astore 3
start local 3 3: aload 0
iload 1
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getSignatureRefAt:(I)Lsun/jvm/hotspot/oops/Symbol;
astore 4
start local 4 4: aload 2
aload 3
aload 4
invokevirtual sun.jvm.hotspot.oops.InstanceKlass.findMethod:(Lsun/jvm/hotspot/oops/Symbol;Lsun/jvm/hotspot/oops/Symbol;)Lsun/jvm/hotspot/oops/Method;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/jvm/hotspot/oops/ConstantPool;
0 5 1 which I
1 5 2 klass Lsun/jvm/hotspot/oops/InstanceKlass;
3 5 3 name Lsun/jvm/hotspot/oops/Symbol;
4 5 4 sig Lsun/jvm/hotspot/oops/Symbol;
MethodParameters:
Name Flags
which
public sun.jvm.hotspot.oops.Field getFieldRefAt(int);
descriptor: (I)Lsun/jvm/hotspot/oops/Field;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getFieldOrMethodKlassRefAt:(I)Lsun/jvm/hotspot/oops/InstanceKlass;
astore 2
start local 2 1: aload 2
ifnonnull 2
aconst_null
areturn
2: StackMap locals: sun.jvm.hotspot.oops.InstanceKlass
StackMap stack:
aload 0
iload 1
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getNameRefAt:(I)Lsun/jvm/hotspot/oops/Symbol;
astore 3
start local 3 3: aload 0
iload 1
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getSignatureRefAt:(I)Lsun/jvm/hotspot/oops/Symbol;
astore 4
start local 4 4: aload 2
aload 3
aload 4
invokevirtual sun.jvm.hotspot.oops.InstanceKlass.findField:(Lsun/jvm/hotspot/oops/Symbol;Lsun/jvm/hotspot/oops/Symbol;)Lsun/jvm/hotspot/oops/Field;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/jvm/hotspot/oops/ConstantPool;
0 5 1 which I
1 5 2 klass Lsun/jvm/hotspot/oops/InstanceKlass;
3 5 3 name Lsun/jvm/hotspot/oops/Symbol;
4 5 4 sig Lsun/jvm/hotspot/oops/Symbol;
MethodParameters:
Name Flags
which
public int getNameAndTypeRefIndexAt(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
iconst_0
invokevirtual sun.jvm.hotspot.oops.ConstantPool.implNameAndTypeRefIndexAt:(IZ)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/oops/ConstantPool;
0 1 1 index I
MethodParameters:
Name Flags
index
public int getNameRefIndexAt(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getNameAndTypeAt:(I)[I
astore 2
start local 2 1: aload 2
iconst_0
iaload
istore 3
start local 3 2: iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/jvm/hotspot/oops/ConstantPool;
0 3 1 index I
1 3 2 refIndex [I
2 3 3 i I
MethodParameters:
Name Flags
index
public int getSignatureRefIndexAt(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getNameAndTypeAt:(I)[I
astore 2
start local 2 1: aload 2
iconst_1
iaload
istore 3
start local 3 2: iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/jvm/hotspot/oops/ConstantPool;
0 3 1 index I
1 3 2 refIndex [I
2 3 3 i I
MethodParameters:
Name Flags
index
public int getMethodHandleIndexAt(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: getstatic sun.jvm.hotspot.utilities.Assert.ASSERTS_ENABLED:Z
ifeq 2
1: aload 0
iload 1
i2l
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getTagAt:(J)Lsun/jvm/hotspot/utilities/ConstantTag;
invokevirtual sun.jvm.hotspot.utilities.ConstantTag.isMethodHandle:()Z
ldc "Corrupted constant pool"
invokestatic sun.jvm.hotspot.utilities.Assert.that:(ZLjava/lang/String;)V
2: StackMap locals:
StackMap stack:
aload 0
iload 1
i2l
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getIntAt:(J)I
invokestatic sun.jvm.hotspot.oops.ConstantPool.extractHighShortFromInt:(I)I
istore 2
start local 2 3: iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/jvm/hotspot/oops/ConstantPool;
0 4 1 i I
3 4 2 res I
MethodParameters:
Name Flags
i
public int getMethodHandleRefKindAt(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: getstatic sun.jvm.hotspot.utilities.Assert.ASSERTS_ENABLED:Z
ifeq 2
1: aload 0
iload 1
i2l
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getTagAt:(J)Lsun/jvm/hotspot/utilities/ConstantTag;
invokevirtual sun.jvm.hotspot.utilities.ConstantTag.isMethodHandle:()Z
ldc "Corrupted constant pool"
invokestatic sun.jvm.hotspot.utilities.Assert.that:(ZLjava/lang/String;)V
2: StackMap locals:
StackMap stack:
aload 0
iload 1
i2l
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getIntAt:(J)I
invokestatic sun.jvm.hotspot.oops.ConstantPool.extractLowShortFromInt:(I)I
istore 2
start local 2 3: iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/jvm/hotspot/oops/ConstantPool;
0 4 1 i I
3 4 2 res I
MethodParameters:
Name Flags
i
public int getMethodTypeIndexAt(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: getstatic sun.jvm.hotspot.utilities.Assert.ASSERTS_ENABLED:Z
ifeq 2
1: aload 0
iload 1
i2l
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getTagAt:(J)Lsun/jvm/hotspot/utilities/ConstantTag;
invokevirtual sun.jvm.hotspot.utilities.ConstantTag.isMethodType:()Z
ldc "Corrupted constant pool"
invokestatic sun.jvm.hotspot.utilities.Assert.that:(ZLjava/lang/String;)V
2: StackMap locals:
StackMap stack:
aload 0
iload 1
i2l
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getIntAt:(J)I
istore 2
start local 2 3: iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/jvm/hotspot/oops/ConstantPool;
0 4 1 i I
3 4 2 res I
MethodParameters:
Name Flags
i
public short[] getBootstrapSpecifierAt(int);
descriptor: (I)[S
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=10, args_size=2
start local 0 start local 1 0: getstatic sun.jvm.hotspot.utilities.Assert.ASSERTS_ENABLED:Z
ifeq 2
1: aload 0
iload 1
i2l
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getTagAt:(J)Lsun/jvm/hotspot/utilities/ConstantTag;
invokevirtual sun.jvm.hotspot.utilities.ConstantTag.isInvokeDynamic:()Z
ldc "Corrupted constant pool"
invokestatic sun.jvm.hotspot.utilities.Assert.that:(ZLjava/lang/String;)V
2: StackMap locals:
StackMap stack:
aload 0
iload 1
i2l
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getIntAt:(J)I
invokestatic sun.jvm.hotspot.oops.ConstantPool.extractLowShortFromInt:(I)I
istore 2
start local 2 3: aload 0
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getOperands:()Lsun/jvm/hotspot/utilities/U2Array;
astore 3
start local 3 4: aload 3
ifnonnull 5
aconst_null
areturn
5: StackMap locals: int sun.jvm.hotspot.utilities.U2Array
StackMap stack:
invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
aload 3
iload 2
iconst_2
imul
iconst_0
iadd
invokevirtual sun.jvm.hotspot.utilities.U2Array.at:(I)S
6: aload 3
iload 2
iconst_2
imul
iconst_1
iadd
invokevirtual sun.jvm.hotspot.utilities.U2Array.at:(I)S
7: invokevirtual sun.jvm.hotspot.runtime.VM.buildIntFromShorts:(SS)I
istore 4
start local 4 8: iload 4
getstatic sun.jvm.hotspot.oops.ConstantPool.INDY_ARGV_OFFSET:I
iadd
istore 5
start local 5 9: aload 3
iload 4
getstatic sun.jvm.hotspot.oops.ConstantPool.INDY_ARGC_OFFSET:I
iadd
invokevirtual sun.jvm.hotspot.utilities.U2Array.at:(I)S
istore 6
start local 6 10: iload 5
iload 6
iadd
istore 7
start local 7 11: iload 7
iload 4
isub
newarray 9
astore 8
start local 8 12: iconst_0
istore 9
start local 9 13: goto 16
14: StackMap locals: sun.jvm.hotspot.oops.ConstantPool int int sun.jvm.hotspot.utilities.U2Array int int int int short[] int
StackMap stack:
aload 8
iload 9
aload 3
iload 4
iload 9
iadd
invokevirtual sun.jvm.hotspot.utilities.U2Array.at:(I)S
sastore
15: iinc 9 1
StackMap locals:
StackMap stack:
16: iload 9
aload 8
arraylength
if_icmplt 14
end local 9 17: aload 8
areturn
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lsun/jvm/hotspot/oops/ConstantPool;
0 18 1 i I
3 18 2 bsmSpec I
4 18 3 operands Lsun/jvm/hotspot/utilities/U2Array;
8 18 4 basePos I
9 18 5 argv I
10 18 6 argc I
11 18 7 endPos I
12 18 8 values [S
13 17 9 j I
MethodParameters:
Name Flags
i
private java.lang.String nameForTag(int);
descriptor: (I)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: iload 1
lookupswitch { // 22
0: 16
1: 1
2: 2
3: 3
4: 4
5: 5
6: 6
7: 7
8: 8
9: 9
10: 10
11: 11
12: 12
15: 13
16: 14
18: 15
100: 17
101: 18
102: 19
103: 20
104: 21
105: 22
default: 23
}
1: StackMap locals:
StackMap stack:
ldc "JVM_CONSTANT_Utf8"
areturn
2: StackMap locals:
StackMap stack:
ldc "JVM_CONSTANT_Unicode"
areturn
3: StackMap locals:
StackMap stack:
ldc "JVM_CONSTANT_Integer"
areturn
4: StackMap locals:
StackMap stack:
ldc "JVM_CONSTANT_Float"
areturn
5: StackMap locals:
StackMap stack:
ldc "JVM_CONSTANT_Long"
areturn
6: StackMap locals:
StackMap stack:
ldc "JVM_CONSTANT_Double"
areturn
7: StackMap locals:
StackMap stack:
ldc "JVM_CONSTANT_Class"
areturn
8: StackMap locals:
StackMap stack:
ldc "JVM_CONSTANT_String"
areturn
9: StackMap locals:
StackMap stack:
ldc "JVM_CONSTANT_Fieldref"
areturn
10: StackMap locals:
StackMap stack:
ldc "JVM_CONSTANT_Methodref"
areturn
11: StackMap locals:
StackMap stack:
ldc "JVM_CONSTANT_InterfaceMethodref"
areturn
12: StackMap locals:
StackMap stack:
ldc "JVM_CONSTANT_NameAndType"
areturn
13: StackMap locals:
StackMap stack:
ldc "JVM_CONSTANT_MethodHandle"
areturn
14: StackMap locals:
StackMap stack:
ldc "JVM_CONSTANT_MethodType"
areturn
15: StackMap locals:
StackMap stack:
ldc "JVM_CONSTANT_InvokeDynamic"
areturn
16: StackMap locals:
StackMap stack:
ldc "JVM_CONSTANT_Invalid"
areturn
17: StackMap locals:
StackMap stack:
ldc "JVM_CONSTANT_UnresolvedClass"
areturn
18: StackMap locals:
StackMap stack:
ldc "JVM_CONSTANT_ClassIndex"
areturn
19: StackMap locals:
StackMap stack:
ldc "JVM_CONSTANT_StringIndex"
areturn
20: StackMap locals:
StackMap stack:
ldc "JVM_CONSTANT_UnresolvedClassInError"
areturn
21: StackMap locals:
StackMap stack:
ldc "JVM_CONSTANT_MethodHandleInError"
areturn
22: StackMap locals:
StackMap stack:
ldc "JVM_CONSTANT_MethodTypeInError"
areturn
23: StackMap locals:
StackMap stack:
new java.lang.InternalError
dup
new java.lang.StringBuilder
dup
ldc "Unknown tag: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lsun/jvm/hotspot/oops/ConstantPool;
0 24 1 tag I
MethodParameters:
Name Flags
tag
public void iterateFields(sun.jvm.hotspot.oops.MetadataVisitor);
descriptor: (Lsun/jvm/hotspot/oops/MetadataVisitor;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=5, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial sun.jvm.hotspot.oops.Metadata.iterateFields:(Lsun/jvm/hotspot/oops/MetadataVisitor;)V
1: aload 1
getstatic sun.jvm.hotspot.oops.ConstantPool.poolHolder:Lsun/jvm/hotspot/oops/MetadataField;
iconst_1
invokeinterface sun.jvm.hotspot.oops.MetadataVisitor.doMetadata:(Lsun/jvm/hotspot/oops/MetadataField;Z)V
2: aload 0
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getLength:()I
istore 2
start local 2 3: iconst_1
istore 3
start local 3 4: goto 21
5: StackMap locals: int int
StackMap stack:
aload 0
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getTags:()Lsun/jvm/hotspot/utilities/U1Array;
iload 3
invokevirtual sun.jvm.hotspot.utilities.U1Array.at:(I)B
istore 4
start local 4 6: iload 4
lookupswitch { // 17
1: 17
3: 7
4: 9
5: 11
6: 14
7: 17
9: 19
10: 19
11: 19
12: 19
15: 19
16: 19
18: 19
100: 17
101: 7
102: 7
103: 17
default: 20
}
7: StackMap locals: int
StackMap stack:
aload 1
new sun.jvm.hotspot.oops.IntField
dup
new sun.jvm.hotspot.oops.NamedFieldIdentifier
dup
aload 0
iload 4
invokevirtual sun.jvm.hotspot.oops.ConstantPool.nameForTag:(I)Ljava/lang/String;
invokespecial sun.jvm.hotspot.oops.NamedFieldIdentifier.<init>:(Ljava/lang/String;)V
aload 0
iload 3
i2l
invokevirtual sun.jvm.hotspot.oops.ConstantPool.indexOffset:(J)J
iconst_1
invokespecial sun.jvm.hotspot.oops.IntField.<init>:(Lsun/jvm/hotspot/oops/FieldIdentifier;JZ)V
iconst_1
invokeinterface sun.jvm.hotspot.oops.MetadataVisitor.doInt:(Lsun/jvm/hotspot/oops/IntField;Z)V
8: goto 20
9: StackMap locals:
StackMap stack:
aload 1
new sun.jvm.hotspot.oops.FloatField
dup
new sun.jvm.hotspot.oops.NamedFieldIdentifier
dup
aload 0
iload 4
invokevirtual sun.jvm.hotspot.oops.ConstantPool.nameForTag:(I)Ljava/lang/String;
invokespecial sun.jvm.hotspot.oops.NamedFieldIdentifier.<init>:(Ljava/lang/String;)V
aload 0
iload 3
i2l
invokevirtual sun.jvm.hotspot.oops.ConstantPool.indexOffset:(J)J
iconst_1
invokespecial sun.jvm.hotspot.oops.FloatField.<init>:(Lsun/jvm/hotspot/oops/FieldIdentifier;JZ)V
iconst_1
invokeinterface sun.jvm.hotspot.oops.MetadataVisitor.doFloat:(Lsun/jvm/hotspot/oops/FloatField;Z)V
10: goto 20
11: StackMap locals:
StackMap stack:
aload 1
new sun.jvm.hotspot.oops.LongField
dup
new sun.jvm.hotspot.oops.NamedFieldIdentifier
dup
aload 0
iload 4
invokevirtual sun.jvm.hotspot.oops.ConstantPool.nameForTag:(I)Ljava/lang/String;
invokespecial sun.jvm.hotspot.oops.NamedFieldIdentifier.<init>:(Ljava/lang/String;)V
aload 0
iload 3
i2l
invokevirtual sun.jvm.hotspot.oops.ConstantPool.indexOffset:(J)J
iconst_1
invokespecial sun.jvm.hotspot.oops.LongField.<init>:(Lsun/jvm/hotspot/oops/FieldIdentifier;JZ)V
iconst_1
invokeinterface sun.jvm.hotspot.oops.MetadataVisitor.doLong:(Lsun/jvm/hotspot/oops/LongField;Z)V
12: iinc 3 1
13: goto 20
14: StackMap locals:
StackMap stack:
aload 1
new sun.jvm.hotspot.oops.DoubleField
dup
new sun.jvm.hotspot.oops.NamedFieldIdentifier
dup
aload 0
iload 4
invokevirtual sun.jvm.hotspot.oops.ConstantPool.nameForTag:(I)Ljava/lang/String;
invokespecial sun.jvm.hotspot.oops.NamedFieldIdentifier.<init>:(Ljava/lang/String;)V
aload 0
iload 3
i2l
invokevirtual sun.jvm.hotspot.oops.ConstantPool.indexOffset:(J)J
iconst_1
invokespecial sun.jvm.hotspot.oops.DoubleField.<init>:(Lsun/jvm/hotspot/oops/FieldIdentifier;JZ)V
iconst_1
invokeinterface sun.jvm.hotspot.oops.MetadataVisitor.doDouble:(Lsun/jvm/hotspot/oops/DoubleField;Z)V
15: iinc 3 1
16: goto 20
17: StackMap locals:
StackMap stack:
aload 1
new sun.jvm.hotspot.oops.OopField
dup
new sun.jvm.hotspot.oops.NamedFieldIdentifier
dup
aload 0
iload 4
invokevirtual sun.jvm.hotspot.oops.ConstantPool.nameForTag:(I)Ljava/lang/String;
invokespecial sun.jvm.hotspot.oops.NamedFieldIdentifier.<init>:(Ljava/lang/String;)V
aload 0
iload 3
i2l
invokevirtual sun.jvm.hotspot.oops.ConstantPool.indexOffset:(J)J
iconst_1
invokespecial sun.jvm.hotspot.oops.OopField.<init>:(Lsun/jvm/hotspot/oops/FieldIdentifier;JZ)V
iconst_1
invokeinterface sun.jvm.hotspot.oops.MetadataVisitor.doOop:(Lsun/jvm/hotspot/oops/OopField;Z)V
18: goto 20
19: StackMap locals:
StackMap stack:
aload 1
new sun.jvm.hotspot.oops.IntField
dup
new sun.jvm.hotspot.oops.NamedFieldIdentifier
dup
aload 0
iload 4
invokevirtual sun.jvm.hotspot.oops.ConstantPool.nameForTag:(I)Ljava/lang/String;
invokespecial sun.jvm.hotspot.oops.NamedFieldIdentifier.<init>:(Ljava/lang/String;)V
aload 0
iload 3
i2l
invokevirtual sun.jvm.hotspot.oops.ConstantPool.indexOffset:(J)J
iconst_1
invokespecial sun.jvm.hotspot.oops.IntField.<init>:(Lsun/jvm/hotspot/oops/FieldIdentifier;JZ)V
iconst_1
invokeinterface sun.jvm.hotspot.oops.MetadataVisitor.doInt:(Lsun/jvm/hotspot/oops/IntField;Z)V
end local 4 20: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
21: iload 3
iload 2
if_icmplt 5
end local 3 22: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lsun/jvm/hotspot/oops/ConstantPool;
0 23 1 visitor Lsun/jvm/hotspot/oops/MetadataVisitor;
3 23 2 length I
4 22 3 index I
6 20 4 ctag I
MethodParameters:
Name Flags
visitor
public void writeBytes(java.io.OutputStream);
descriptor: (Ljava/io/OutputStream;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=11, args_size=2
start local 0 start local 1 0: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 2
start local 2 1: new java.io.DataOutputStream
dup
aload 1
invokespecial java.io.DataOutputStream.<init>:(Ljava/io/OutputStream;)V
astore 3
start local 3 2: aload 0
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getTags:()Lsun/jvm/hotspot/utilities/U1Array;
astore 4
start local 4 3: aload 0
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getLength:()I
istore 5
start local 5 4: iconst_0
istore 6
start local 6 5: iconst_1
istore 6
goto 15
6: StackMap locals: sun.jvm.hotspot.oops.ConstantPool java.io.OutputStream java.util.Map java.io.DataOutputStream sun.jvm.hotspot.utilities.U1Array int int
StackMap stack:
aload 4
iload 6
invokevirtual sun.jvm.hotspot.utilities.U1Array.at:(I)B
istore 7
start local 7 7: iload 7
iconst_1
if_icmpne 11
8: aload 0
iload 6
i2l
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getSymbolAt:(J)Lsun/jvm/hotspot/oops/Symbol;
astore 8
start local 8 9: aload 2
aload 8
invokevirtual sun.jvm.hotspot.oops.Symbol.asString:()Ljava/lang/String;
new java.lang.Short
dup
iload 6
i2s
invokespecial java.lang.Short.<init>:(S)V
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 8 10: goto 14
11: StackMap locals: int
StackMap stack:
iload 7
iconst_5
if_icmpeq 13
12: iload 7
bipush 6
if_icmpne 14
13: StackMap locals:
StackMap stack:
iinc 6 1
end local 7 14: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
15: iload 6
iload 5
if_icmplt 6
16: iconst_1
istore 6
goto 91
17: StackMap locals:
StackMap stack:
aload 4
iload 6
invokevirtual sun.jvm.hotspot.utilities.U1Array.at:(I)B
istore 7
start local 7 18: iload 7
lookupswitch { // 17
1: 19
2: 24
3: 25
4: 28
5: 31
6: 36
7: 40
8: 51
9: 56
10: 56
11: 56
12: 63
15: 70
16: 77
18: 82
100: 46
103: 46
default: 89
}
19: StackMap locals: int
StackMap stack:
aload 3
iload 7
invokevirtual java.io.DataOutputStream.writeByte:(I)V
20: aload 0
iload 6
i2l
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getSymbolAt:(J)Lsun/jvm/hotspot/oops/Symbol;
astore 8
start local 8 21: aload 3
aload 8
invokevirtual sun.jvm.hotspot.oops.Symbol.getLength:()J
l2i
i2s
invokevirtual java.io.DataOutputStream.writeShort:(I)V
22: aload 3
aload 8
invokevirtual sun.jvm.hotspot.oops.Symbol.asByteArray:()[B
invokevirtual java.io.DataOutputStream.write:([B)V
23: goto 90
end local 8 24: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "Unicode constant!"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
25: StackMap locals:
StackMap stack:
aload 3
iload 7
invokevirtual java.io.DataOutputStream.writeByte:(I)V
26: aload 3
aload 0
iload 6
i2l
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getIntAt:(J)I
invokevirtual java.io.DataOutputStream.writeInt:(I)V
27: goto 90
28: StackMap locals:
StackMap stack:
aload 3
iload 7
invokevirtual java.io.DataOutputStream.writeByte:(I)V
29: aload 3
aload 0
iload 6
i2l
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getFloatAt:(J)F
invokevirtual java.io.DataOutputStream.writeFloat:(F)V
30: goto 90
31: StackMap locals:
StackMap stack:
aload 3
iload 7
invokevirtual java.io.DataOutputStream.writeByte:(I)V
32: aload 0
iload 6
i2l
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getLongAt:(J)J
lstore 8
start local 8 33: iinc 6 1
34: aload 3
lload 8
invokevirtual java.io.DataOutputStream.writeLong:(J)V
35: goto 90
end local 8 36: StackMap locals:
StackMap stack:
aload 3
iload 7
invokevirtual java.io.DataOutputStream.writeByte:(I)V
37: aload 3
aload 0
iload 6
i2l
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getDoubleAt:(J)D
invokevirtual java.io.DataOutputStream.writeDouble:(D)V
38: iinc 6 1
39: goto 90
40: StackMap locals:
StackMap stack:
aload 3
iload 7
invokevirtual java.io.DataOutputStream.writeByte:(I)V
41: aload 0
iload 6
i2l
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getAddressAtRaw:(J)Lsun/jvm/hotspot/debugger/Address;
invokestatic sun.jvm.hotspot.oops.Metadata.instantiateWrapperFor:(Lsun/jvm/hotspot/debugger/Address;)Lsun/jvm/hotspot/oops/Metadata;
checkcast sun.jvm.hotspot.oops.Klass
astore 8
start local 8 42: aload 8
invokevirtual sun.jvm.hotspot.oops.Klass.getName:()Lsun/jvm/hotspot/oops/Symbol;
invokevirtual sun.jvm.hotspot.oops.Symbol.asString:()Ljava/lang/String;
astore 9
start local 9 43: aload 2
aload 9
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Short
astore 10
start local 10 44: aload 3
aload 10
invokevirtual java.lang.Short.shortValue:()S
invokevirtual java.io.DataOutputStream.writeShort:(I)V
45: goto 90
end local 10 end local 9 end local 8 46: StackMap locals:
StackMap stack:
aload 3
bipush 7
invokevirtual java.io.DataOutputStream.writeByte:(I)V
47: aload 0
iload 6
i2l
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getSymbolAt:(J)Lsun/jvm/hotspot/oops/Symbol;
invokevirtual sun.jvm.hotspot.oops.Symbol.asString:()Ljava/lang/String;
astore 8
start local 8 48: aload 2
aload 8
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Short
astore 9
start local 9 49: aload 3
aload 9
invokevirtual java.lang.Short.shortValue:()S
invokevirtual java.io.DataOutputStream.writeShort:(I)V
50: goto 90
end local 9 end local 8 51: StackMap locals:
StackMap stack:
aload 3
iload 7
invokevirtual java.io.DataOutputStream.writeByte:(I)V
52: aload 0
iload 6
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getUnresolvedStringAt:(I)Lsun/jvm/hotspot/oops/Symbol;
invokevirtual sun.jvm.hotspot.oops.Symbol.asString:()Ljava/lang/String;
astore 8
start local 8 53: aload 2
aload 8
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Short
astore 9
start local 9 54: aload 3
aload 9
invokevirtual java.lang.Short.shortValue:()S
invokevirtual java.io.DataOutputStream.writeShort:(I)V
55: goto 90
end local 9 end local 8 56: StackMap locals:
StackMap stack:
aload 3
iload 7
invokevirtual java.io.DataOutputStream.writeByte:(I)V
57: aload 0
iload 6
i2l
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getIntAt:(J)I
istore 8
start local 8 58: iload 8
invokestatic sun.jvm.hotspot.oops.ConstantPool.extractLowShortFromInt:(I)I
i2s
istore 9
start local 9 59: iload 8
invokestatic sun.jvm.hotspot.oops.ConstantPool.extractHighShortFromInt:(I)I
i2s
istore 10
start local 10 60: aload 3
iload 9
invokevirtual java.io.DataOutputStream.writeShort:(I)V
61: aload 3
iload 10
invokevirtual java.io.DataOutputStream.writeShort:(I)V
62: goto 90
end local 10 end local 9 end local 8 63: StackMap locals:
StackMap stack:
aload 3
iload 7
invokevirtual java.io.DataOutputStream.writeByte:(I)V
64: aload 0
iload 6
i2l
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getIntAt:(J)I
istore 8
start local 8 65: iload 8
invokestatic sun.jvm.hotspot.oops.ConstantPool.extractLowShortFromInt:(I)I
i2s
istore 9
start local 9 66: iload 8
invokestatic sun.jvm.hotspot.oops.ConstantPool.extractHighShortFromInt:(I)I
i2s
istore 10
start local 10 67: aload 3
iload 9
invokevirtual java.io.DataOutputStream.writeShort:(I)V
68: aload 3
iload 10
invokevirtual java.io.DataOutputStream.writeShort:(I)V
69: goto 90
end local 10 end local 9 end local 8 70: StackMap locals:
StackMap stack:
aload 3
iload 7
invokevirtual java.io.DataOutputStream.writeByte:(I)V
71: aload 0
iload 6
i2l
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getIntAt:(J)I
istore 8
start local 8 72: iload 8
invokestatic sun.jvm.hotspot.oops.ConstantPool.extractLowShortFromInt:(I)I
i2b
istore 9
start local 9 73: iload 8
invokestatic sun.jvm.hotspot.oops.ConstantPool.extractHighShortFromInt:(I)I
i2s
istore 10
start local 10 74: aload 3
iload 9
invokevirtual java.io.DataOutputStream.writeByte:(I)V
75: aload 3
iload 10
invokevirtual java.io.DataOutputStream.writeShort:(I)V
76: goto 90
end local 10 end local 9 end local 8 77: StackMap locals:
StackMap stack:
aload 3
iload 7
invokevirtual java.io.DataOutputStream.writeByte:(I)V
78: aload 0
iload 6
i2l
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getIntAt:(J)I
istore 8
start local 8 79: iload 8
i2s
istore 9
start local 9 80: aload 3
iload 9
invokevirtual java.io.DataOutputStream.writeShort:(I)V
81: goto 90
end local 9 end local 8 82: StackMap locals:
StackMap stack:
aload 3
iload 7
invokevirtual java.io.DataOutputStream.writeByte:(I)V
83: aload 0
iload 6
i2l
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getIntAt:(J)I
istore 8
start local 8 84: iload 8
invokestatic sun.jvm.hotspot.oops.ConstantPool.extractLowShortFromInt:(I)I
i2s
istore 9
start local 9 85: iload 8
invokestatic sun.jvm.hotspot.oops.ConstantPool.extractHighShortFromInt:(I)I
i2s
istore 10
start local 10 86: aload 3
iload 9
invokevirtual java.io.DataOutputStream.writeShort:(I)V
87: aload 3
iload 10
invokevirtual java.io.DataOutputStream.writeShort:(I)V
88: goto 90
end local 10 end local 9 end local 8 89: StackMap locals:
StackMap stack:
new java.lang.InternalError
dup
new java.lang.StringBuilder
dup
ldc "Unknown tag: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 7
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
end local 7 90: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
91: iload 6
iload 5
if_icmplt 17
92: aload 3
invokevirtual java.io.DataOutputStream.flush:()V
93: return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 94 0 this Lsun/jvm/hotspot/oops/ConstantPool;
0 94 1 os Ljava/io/OutputStream;
1 94 2 utf8ToIndex Ljava/util/Map;
2 94 3 dos Ljava/io/DataOutputStream;
3 94 4 tags Lsun/jvm/hotspot/utilities/U1Array;
4 94 5 len I
5 94 6 ci I
7 14 7 cpConstType I
9 10 8 sym Lsun/jvm/hotspot/oops/Symbol;
18 90 7 cpConstType I
21 24 8 sym Lsun/jvm/hotspot/oops/Symbol;
33 36 8 l J
42 46 8 refKls Lsun/jvm/hotspot/oops/Klass;
43 46 9 klassName Ljava/lang/String;
44 46 10 s Ljava/lang/Short;
48 51 8 klassName Ljava/lang/String;
49 51 9 s Ljava/lang/Short;
53 56 8 str Ljava/lang/String;
54 56 9 s Ljava/lang/Short;
58 63 8 value I
59 63 9 klassIndex S
60 63 10 nameAndTypeIndex S
65 70 8 value I
66 70 9 nameIndex S
67 70 10 signatureIndex S
72 77 8 value I
73 77 9 refKind B
74 77 10 memberIndex S
79 82 8 value I
80 82 9 refIndex S
84 89 8 value I
85 89 9 bsmIndex S
86 89 10 nameAndTypeIndex S
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
os
public void printValueOn(java.io.PrintStream);
descriptor: (Ljava/io/PrintStream;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 1
new java.lang.StringBuilder
dup
ldc "ConstantPool for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getPoolHolder:()Lsun/jvm/hotspot/oops/InstanceKlass;
invokevirtual sun.jvm.hotspot.oops.InstanceKlass.getName:()Lsun/jvm/hotspot/oops/Symbol;
invokevirtual sun.jvm.hotspot.oops.Symbol.asString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/jvm/hotspot/oops/ConstantPool;
0 2 1 tty Ljava/io/PrintStream;
MethodParameters:
Name Flags
tty
public long getSize();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: getstatic sun.jvm.hotspot.oops.ConstantPool.headerSize:J
aload 0
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getLength:()I
i2l
ladd
invokestatic sun.jvm.hotspot.oops.ConstantPool.alignSize:(J)J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/oops/ConstantPool;
private static int (int);
descriptor: (I)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
bipush 16
ishr
ldc 65535
iand
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 val I
MethodParameters:
Name Flags
val
private static int (int);
descriptor: (I)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
ldc 65535
iand
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 val I
MethodParameters:
Name Flags
val
}
SourceFile: "ConstantPool.java"
NestMembers:
sun.jvm.hotspot.oops.ConstantPool$1 sun.jvm.hotspot.oops.ConstantPool$CPKlassSlot sun.jvm.hotspot.oops.ConstantPool$CPSlot
InnerClasses:
sun.jvm.hotspot.oops.ConstantPool$1
private CPKlassSlot = sun.jvm.hotspot.oops.ConstantPool$CPKlassSlot of sun.jvm.hotspot.oops.ConstantPool
private CPSlot = sun.jvm.hotspot.oops.ConstantPool$CPSlot of sun.jvm.hotspot.oops.ConstantPool