public class sun.jvm.hotspot.interpreter.BytecodeLoadConstant extends sun.jvm.hotspot.interpreter.Bytecode
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.jvm.hotspot.interpreter.BytecodeLoadConstant
super_class: sun.jvm.hotspot.interpreter.Bytecode
{
void <init>(sun.jvm.hotspot.oops.Method, int);
descriptor: (Lsun/jvm/hotspot/oops/Method;I)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iload 2
invokespecial sun.jvm.hotspot.interpreter.Bytecode.<init>:(Lsun/jvm/hotspot/oops/Method;I)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/jvm/hotspot/interpreter/BytecodeLoadConstant;
0 2 1 method Lsun/jvm/hotspot/oops/Method;
0 2 2 bci I
MethodParameters:
Name Flags
method
bci
public boolean hasCacheIndex();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeLoadConstant.code:()I
sipush 203
if_icmplt 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/jvm/hotspot/interpreter/BytecodeLoadConstant;
int rawIndex();
descriptor: ()I
flags: (0x0000)
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeLoadConstant.javaCode:()I
bipush 18
if_icmpne 2
1: aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeLoadConstant.getIndexU1:()I
ireturn
2: StackMap locals:
StackMap stack:
aload 0
aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeLoadConstant.code:()I
iconst_0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeLoadConstant.getIndexU2:(IZ)I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/jvm/hotspot/interpreter/BytecodeLoadConstant;
public int poolIndex();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeLoadConstant.rawIndex:()I
istore 1
start local 1 1: aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeLoadConstant.hasCacheIndex:()Z
ifeq 3
2: aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeLoadConstant.method:()Lsun/jvm/hotspot/oops/Method;
invokevirtual sun.jvm.hotspot.oops.Method.getConstants:()Lsun/jvm/hotspot/oops/ConstantPool;
iload 1
invokevirtual sun.jvm.hotspot.oops.ConstantPool.objectToCPIndex:(I)I
ireturn
3: StackMap locals: int
StackMap stack:
iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/jvm/hotspot/interpreter/BytecodeLoadConstant;
1 4 1 index I
public int cacheIndex();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeLoadConstant.hasCacheIndex:()Z
ifeq 2
1: aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeLoadConstant.rawIndex:()I
ireturn
2: StackMap locals:
StackMap stack:
iconst_m1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/jvm/hotspot/interpreter/BytecodeLoadConstant;
public sun.jvm.hotspot.runtime.BasicType resultType();
descriptor: ()Lsun/jvm/hotspot/runtime/BasicType;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeLoadConstant.poolIndex:()I
istore 1
start local 1 1: aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeLoadConstant.method:()Lsun/jvm/hotspot/oops/Method;
invokevirtual sun.jvm.hotspot.oops.Method.getConstants:()Lsun/jvm/hotspot/oops/ConstantPool;
iload 1
i2l
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getTagAt:(J)Lsun/jvm/hotspot/utilities/ConstantTag;
astore 2
start local 2 2: aload 2
invokevirtual sun.jvm.hotspot.utilities.ConstantTag.basicType:()Lsun/jvm/hotspot/runtime/BasicType;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/jvm/hotspot/interpreter/BytecodeLoadConstant;
1 3 1 index I
2 3 2 tag Lsun/jvm/hotspot/utilities/ConstantTag;
private sun.jvm.hotspot.oops.Oop getCachedConstant();
descriptor: ()Lsun/jvm/hotspot/oops/Oop;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeLoadConstant.cacheIndex:()I
istore 1
start local 1 1: iload 1
iflt 3
2: new java.lang.InternalError
dup
ldc "invokedynamic not implemented yet"
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: int
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/jvm/hotspot/interpreter/BytecodeLoadConstant;
1 4 1 i I
public void verify();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic sun.jvm.hotspot.utilities.Assert.ASSERTS_ENABLED:Z
ifeq 2
1: aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeLoadConstant.isValid:()Z
ldc "check load constant"
invokestatic sun.jvm.hotspot.utilities.Assert.that:(ZLjava/lang/String;)V
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/jvm/hotspot/interpreter/BytecodeLoadConstant;
public boolean isValid();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeLoadConstant.javaCode:()I
istore 1
start local 1 1: iload 1
bipush 18
if_icmpeq 4
iload 1
bipush 19
if_icmpeq 4
2: iload 1
bipush 20
if_icmpeq 4
3: iconst_0
goto 5
StackMap locals: int
StackMap stack:
4: iconst_1
StackMap locals:
StackMap stack: int
5: istore 2
start local 2 6: iload 2
ifne 7
iconst_0
ireturn
7: StackMap locals: int
StackMap stack:
aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeLoadConstant.method:()Lsun/jvm/hotspot/oops/Method;
invokevirtual sun.jvm.hotspot.oops.Method.getConstants:()Lsun/jvm/hotspot/oops/ConstantPool;
aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeLoadConstant.poolIndex:()I
i2l
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getTagAt:(J)Lsun/jvm/hotspot/utilities/ConstantTag;
astore 3
start local 3 8: iload 1
bipush 20
if_icmpne 13
9: aload 3
invokevirtual sun.jvm.hotspot.utilities.ConstantTag.isDouble:()Z
ifne 10
aload 3
invokevirtual sun.jvm.hotspot.utilities.ConstantTag.isLong:()Z
ifeq 11
StackMap locals: sun.jvm.hotspot.utilities.ConstantTag
StackMap stack:
10: iconst_1
goto 12
StackMap locals:
StackMap stack:
11: iconst_0
StackMap locals:
StackMap stack: int
12: ireturn
13: StackMap locals:
StackMap stack:
aload 3
invokevirtual sun.jvm.hotspot.utilities.ConstantTag.isString:()Z
ifne 17
14: aload 3
invokevirtual sun.jvm.hotspot.utilities.ConstantTag.isUnresolvedKlass:()Z
ifne 17
aload 3
invokevirtual sun.jvm.hotspot.utilities.ConstantTag.isKlass:()Z
ifne 17
15: aload 3
invokevirtual sun.jvm.hotspot.utilities.ConstantTag.isMethodHandle:()Z
ifne 17
aload 3
invokevirtual sun.jvm.hotspot.utilities.ConstantTag.isMethodType:()Z
ifne 17
16: aload 3
invokevirtual sun.jvm.hotspot.utilities.ConstantTag.isInt:()Z
ifne 17
aload 3
invokevirtual sun.jvm.hotspot.utilities.ConstantTag.isFloat:()Z
ifeq 18
StackMap locals:
StackMap stack:
17: iconst_1
goto 19
StackMap locals:
StackMap stack:
18: iconst_0
19: StackMap locals:
StackMap stack: int
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lsun/jvm/hotspot/interpreter/BytecodeLoadConstant;
1 20 1 jcode I
6 20 2 codeOk Z
8 20 3 ctag Lsun/jvm/hotspot/utilities/ConstantTag;
public boolean isKlassConstant();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeLoadConstant.javaCode:()I
istore 1
start local 1 1: iload 1
bipush 20
if_icmpne 3
2: iconst_0
ireturn
3: StackMap locals: int
StackMap stack:
aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeLoadConstant.method:()Lsun/jvm/hotspot/oops/Method;
invokevirtual sun.jvm.hotspot.oops.Method.getConstants:()Lsun/jvm/hotspot/oops/ConstantPool;
aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeLoadConstant.poolIndex:()I
i2l
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getTagAt:(J)Lsun/jvm/hotspot/utilities/ConstantTag;
astore 2
start local 2 4: aload 2
invokevirtual sun.jvm.hotspot.utilities.ConstantTag.isKlass:()Z
ifne 5
aload 2
invokevirtual sun.jvm.hotspot.utilities.ConstantTag.isUnresolvedKlass:()Z
ifne 5
iconst_0
ireturn
StackMap locals: sun.jvm.hotspot.utilities.ConstantTag
StackMap stack:
5: iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/jvm/hotspot/interpreter/BytecodeLoadConstant;
1 6 1 jcode I
4 6 2 ctag Lsun/jvm/hotspot/utilities/ConstantTag;
public java.lang.Object getKlass();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: getstatic sun.jvm.hotspot.utilities.Assert.ASSERTS_ENABLED:Z
ifeq 2
1: aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeLoadConstant.isKlassConstant:()Z
ldc "not a klass literal"
invokestatic sun.jvm.hotspot.utilities.Assert.that:(ZLjava/lang/String;)V
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeLoadConstant.method:()Lsun/jvm/hotspot/oops/Method;
invokevirtual sun.jvm.hotspot.oops.Method.getConstants:()Lsun/jvm/hotspot/oops/ConstantPool;
astore 1
start local 1 3: aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeLoadConstant.poolIndex:()I
istore 2
start local 2 4: aload 1
iload 2
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getKlassNameAt:(I)Lsun/jvm/hotspot/oops/Symbol;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/jvm/hotspot/interpreter/BytecodeLoadConstant;
3 5 1 cpool Lsun/jvm/hotspot/oops/ConstantPool;
4 5 2 cpIndex I
public static sun.jvm.hotspot.interpreter.BytecodeLoadConstant at(sun.jvm.hotspot.oops.Method, int);
descriptor: (Lsun/jvm/hotspot/oops/Method;I)Lsun/jvm/hotspot/interpreter/BytecodeLoadConstant;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: new sun.jvm.hotspot.interpreter.BytecodeLoadConstant
dup
aload 0
iload 1
invokespecial sun.jvm.hotspot.interpreter.BytecodeLoadConstant.<init>:(Lsun/jvm/hotspot/oops/Method;I)V
astore 2
start local 2 1: getstatic sun.jvm.hotspot.utilities.Assert.ASSERTS_ENABLED:Z
ifeq 3
2: aload 2
invokevirtual sun.jvm.hotspot.interpreter.BytecodeLoadConstant.verify:()V
3: StackMap locals: sun.jvm.hotspot.interpreter.BytecodeLoadConstant
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 method Lsun/jvm/hotspot/oops/Method;
0 4 1 bci I
1 4 2 b Lsun/jvm/hotspot/interpreter/BytecodeLoadConstant;
MethodParameters:
Name Flags
method
bci
public static sun.jvm.hotspot.interpreter.BytecodeLoadConstant atCheck(sun.jvm.hotspot.oops.Method, int);
descriptor: (Lsun/jvm/hotspot/oops/Method;I)Lsun/jvm/hotspot/interpreter/BytecodeLoadConstant;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: new sun.jvm.hotspot.interpreter.BytecodeLoadConstant
dup
aload 0
iload 1
invokespecial sun.jvm.hotspot.interpreter.BytecodeLoadConstant.<init>:(Lsun/jvm/hotspot/oops/Method;I)V
astore 2
start local 2 1: aload 2
invokevirtual sun.jvm.hotspot.interpreter.BytecodeLoadConstant.isValid:()Z
ifeq 2
aload 2
goto 3
StackMap locals: sun.jvm.hotspot.interpreter.BytecodeLoadConstant
StackMap stack:
2: aconst_null
StackMap locals:
StackMap stack: sun.jvm.hotspot.interpreter.BytecodeLoadConstant
3: areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 method Lsun/jvm/hotspot/oops/Method;
0 4 1 bci I
1 4 2 b Lsun/jvm/hotspot/interpreter/BytecodeLoadConstant;
MethodParameters:
Name Flags
method
bci
public static sun.jvm.hotspot.interpreter.BytecodeLoadConstant at(sun.jvm.hotspot.interpreter.BytecodeStream);
descriptor: (Lsun/jvm/hotspot/interpreter/BytecodeStream;)Lsun/jvm/hotspot/interpreter/BytecodeLoadConstant;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: new sun.jvm.hotspot.interpreter.BytecodeLoadConstant
dup
aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeStream.method:()Lsun/jvm/hotspot/oops/Method;
aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeStream.bci:()I
invokespecial sun.jvm.hotspot.interpreter.BytecodeLoadConstant.<init>:(Lsun/jvm/hotspot/oops/Method;I)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 bcs Lsun/jvm/hotspot/interpreter/BytecodeStream;
MethodParameters:
Name Flags
bcs
public java.lang.String getConstantValue();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=1
start local 0 0: aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeLoadConstant.method:()Lsun/jvm/hotspot/oops/Method;
invokevirtual sun.jvm.hotspot.oops.Method.getConstants:()Lsun/jvm/hotspot/oops/ConstantPool;
astore 1
start local 1 1: aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeLoadConstant.poolIndex:()I
istore 2
start local 2 2: aload 1
iload 2
i2l
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getTagAt:(J)Lsun/jvm/hotspot/utilities/ConstantTag;
astore 3
start local 3 3: aload 3
invokevirtual sun.jvm.hotspot.utilities.ConstantTag.isInt:()Z
ifeq 5
4: new java.lang.StringBuilder
dup
ldc "<int "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
iload 2
i2l
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getIntAt:(J)I
invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ">"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
5: StackMap locals: sun.jvm.hotspot.oops.ConstantPool int sun.jvm.hotspot.utilities.ConstantTag
StackMap stack:
aload 3
invokevirtual sun.jvm.hotspot.utilities.ConstantTag.isLong:()Z
ifeq 7
6: new java.lang.StringBuilder
dup
ldc "<long "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
iload 2
i2l
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getLongAt:(J)J
invokestatic java.lang.Long.toString:(J)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "L>"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
7: StackMap locals:
StackMap stack:
aload 3
invokevirtual sun.jvm.hotspot.utilities.ConstantTag.isFloat:()Z
ifeq 9
8: new java.lang.StringBuilder
dup
ldc "<float "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
iload 2
i2l
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getFloatAt:(J)F
invokestatic java.lang.Float.toString:(F)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "F>"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
9: StackMap locals:
StackMap stack:
aload 3
invokevirtual sun.jvm.hotspot.utilities.ConstantTag.isDouble:()Z
ifeq 11
10: new java.lang.StringBuilder
dup
ldc "<double "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
iload 2
i2l
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getDoubleAt:(J)D
invokestatic java.lang.Double.toString:(D)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "D>"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
11: StackMap locals:
StackMap stack:
aload 3
invokevirtual sun.jvm.hotspot.utilities.ConstantTag.isString:()Z
ifeq 14
12: aload 1
iload 2
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getUnresolvedStringAt:(I)Lsun/jvm/hotspot/oops/Symbol;
astore 4
start local 4 13: new java.lang.StringBuilder
dup
ldc "<String \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual sun.jvm.hotspot.oops.Symbol.asString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\">"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 4 14: StackMap locals:
StackMap stack:
aload 3
invokevirtual sun.jvm.hotspot.utilities.ConstantTag.isKlass:()Z
ifne 15
aload 3
invokevirtual sun.jvm.hotspot.utilities.ConstantTag.isUnresolvedKlass:()Z
ifeq 23
15: StackMap locals:
StackMap stack:
aload 1
iload 2
i2l
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getTagAt:(J)Lsun/jvm/hotspot/utilities/ConstantTag;
astore 4
start local 4 16: aload 4
invokevirtual sun.jvm.hotspot.utilities.ConstantTag.isKlass:()Z
ifeq 19
17: aload 1
iload 2
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getKlassAt:(I)Lsun/jvm/hotspot/oops/Klass;
astore 5
start local 5 18: new java.lang.StringBuilder
dup
ldc "<Class "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual sun.jvm.hotspot.oops.Klass.getName:()Lsun/jvm/hotspot/oops/Symbol;
invokevirtual sun.jvm.hotspot.oops.Symbol.asString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "@"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 5
invokevirtual sun.jvm.hotspot.oops.Klass.getAddress:()Lsun/jvm/hotspot/debugger/Address;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ">"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 5 19: StackMap locals: sun.jvm.hotspot.utilities.ConstantTag
StackMap stack:
aload 4
invokevirtual sun.jvm.hotspot.utilities.ConstantTag.isUnresolvedKlass:()Z
ifeq 22
20: aload 1
iload 2
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getKlassNameAt:(I)Lsun/jvm/hotspot/oops/Symbol;
astore 5
start local 5 21: new java.lang.StringBuilder
dup
ldc "<Class "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual sun.jvm.hotspot.oops.Symbol.asString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ">"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 5 22: StackMap locals:
StackMap stack:
new java.lang.RuntimeException
dup
ldc "should not reach here"
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
end local 4 23: StackMap locals:
StackMap stack:
aload 3
invokevirtual sun.jvm.hotspot.utilities.ConstantTag.isMethodHandle:()Z
ifeq 33
24: aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeLoadConstant.getCachedConstant:()Lsun/jvm/hotspot/oops/Oop;
astore 4
start local 4 25: aload 1
iload 2
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getMethodHandleIndexAt:(I)I
istore 5
start local 5 26: aload 1
iload 2
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getMethodHandleRefKindAt:(I)I
istore 6
start local 6 27: new java.lang.StringBuilder
dup
ldc "<MethodHandle kind="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 6
invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
28: ldc " ref="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 5
invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
29: aload 4
ifnonnull 30
ldc ""
goto 31
StackMap locals: sun.jvm.hotspot.interpreter.BytecodeLoadConstant sun.jvm.hotspot.oops.ConstantPool int sun.jvm.hotspot.utilities.ConstantTag sun.jvm.hotspot.oops.Oop int int
StackMap stack: java.lang.StringBuilder
30: new java.lang.StringBuilder
dup
ldc " @"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual sun.jvm.hotspot.oops.Oop.getHandle:()Lsun/jvm/hotspot/debugger/OopHandle;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
StackMap locals: sun.jvm.hotspot.interpreter.BytecodeLoadConstant sun.jvm.hotspot.oops.ConstantPool int sun.jvm.hotspot.utilities.ConstantTag sun.jvm.hotspot.oops.Oop int int
StackMap stack: java.lang.StringBuilder java.lang.String
31: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ">"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
32: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 6 end local 5 end local 4 33: StackMap locals:
StackMap stack:
aload 3
invokevirtual sun.jvm.hotspot.utilities.ConstantTag.isMethodType:()Z
ifeq 41
34: aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeLoadConstant.getCachedConstant:()Lsun/jvm/hotspot/oops/Oop;
astore 4
start local 4 35: aload 1
iload 2
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getMethodTypeIndexAt:(I)I
istore 5
start local 5 36: new java.lang.StringBuilder
dup
ldc "<MethodType "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
iload 5
i2l
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getSymbolAt:(J)Lsun/jvm/hotspot/oops/Symbol;
invokevirtual sun.jvm.hotspot.oops.Symbol.asString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
37: aload 4
ifnonnull 38
ldc ""
goto 39
StackMap locals: sun.jvm.hotspot.interpreter.BytecodeLoadConstant sun.jvm.hotspot.oops.ConstantPool int sun.jvm.hotspot.utilities.ConstantTag sun.jvm.hotspot.oops.Oop int
StackMap stack: java.lang.StringBuilder
38: new java.lang.StringBuilder
dup
ldc " @"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual sun.jvm.hotspot.oops.Oop.getHandle:()Lsun/jvm/hotspot/debugger/OopHandle;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
StackMap locals: sun.jvm.hotspot.interpreter.BytecodeLoadConstant sun.jvm.hotspot.oops.ConstantPool int sun.jvm.hotspot.utilities.ConstantTag sun.jvm.hotspot.oops.Oop int
StackMap stack: java.lang.StringBuilder java.lang.String
39: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ">"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
40: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 5 end local 4 41: StackMap locals:
StackMap stack:
getstatic sun.jvm.hotspot.utilities.Assert.ASSERTS_ENABLED:Z
ifeq 43
42: iconst_0
ldc "invalid load constant type"
invokestatic sun.jvm.hotspot.utilities.Assert.that:(ZLjava/lang/String;)V
43: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 44 0 this Lsun/jvm/hotspot/interpreter/BytecodeLoadConstant;
1 44 1 cpool Lsun/jvm/hotspot/oops/ConstantPool;
2 44 2 cpIndex I
3 44 3 ctag Lsun/jvm/hotspot/utilities/ConstantTag;
13 14 4 sym Lsun/jvm/hotspot/oops/Symbol;
16 23 4 tag Lsun/jvm/hotspot/utilities/ConstantTag;
18 19 5 k Lsun/jvm/hotspot/oops/Klass;
21 22 5 sym Lsun/jvm/hotspot/oops/Symbol;
25 33 4 x Lsun/jvm/hotspot/oops/Oop;
26 33 5 refidx I
27 33 6 refkind I
35 41 4 x Lsun/jvm/hotspot/oops/Oop;
36 41 5 refidx I
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: new java.lang.StringBuffer
dup
invokespecial java.lang.StringBuffer.<init>:()V
astore 1
start local 1 1: aload 1
aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeLoadConstant.getJavaBytecodeName:()Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
2: aload 1
ldc " "
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
3: aload 1
bipush 35
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
4: aload 1
aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeLoadConstant.poolIndex:()I
invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
5: aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeLoadConstant.hasCacheIndex:()Z
ifeq 9
6: aload 1
bipush 40
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
7: aload 1
aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeLoadConstant.cacheIndex:()I
invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
8: aload 1
bipush 41
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
9: StackMap locals: java.lang.StringBuffer
StackMap stack:
aload 1
ldc " "
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
10: aload 1
aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeLoadConstant.getConstantValue:()Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
11: aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeLoadConstant.code:()I
aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeLoadConstant.javaCode:()I
if_icmpeq 16
12: aload 1
ldc " "
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
13: aload 1
bipush 91
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
14: aload 1
aload 0
invokevirtual sun.jvm.hotspot.interpreter.BytecodeLoadConstant.getBytecodeName:()Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
15: aload 1
bipush 93
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
16: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lsun/jvm/hotspot/interpreter/BytecodeLoadConstant;
1 17 1 buf Ljava/lang/StringBuffer;
}
SourceFile: "BytecodeLoadConstant.java"