public class sun.jvm.hotspot.code.DebugInfoReadStream extends sun.jvm.hotspot.code.CompressedReadStream
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.jvm.hotspot.code.DebugInfoReadStream
super_class: sun.jvm.hotspot.code.CompressedReadStream
{
private sun.jvm.hotspot.code.NMethod code;
descriptor: Lsun/jvm/hotspot/code/NMethod;
flags: (0x0002) ACC_PRIVATE
private int InvocationEntryBCI;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private java.util.List objectPool;
descriptor: Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
public void <init>(sun.jvm.hotspot.code.NMethod, int);
descriptor: (Lsun/jvm/hotspot/code/NMethod;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual sun.jvm.hotspot.code.NMethod.scopesDataBegin:()Lsun/jvm/hotspot/debugger/Address;
iload 2
invokespecial sun.jvm.hotspot.code.CompressedReadStream.<init>:(Lsun/jvm/hotspot/debugger/Address;I)V
1: aload 0
invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
invokevirtual sun.jvm.hotspot.runtime.VM.getInvocationEntryBCI:()I
putfield sun.jvm.hotspot.code.DebugInfoReadStream.InvocationEntryBCI:I
2: aload 0
aload 1
putfield sun.jvm.hotspot.code.DebugInfoReadStream.code:Lsun/jvm/hotspot/code/NMethod;
3: aload 0
aconst_null
putfield sun.jvm.hotspot.code.DebugInfoReadStream.objectPool:Ljava/util/List;
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/jvm/hotspot/code/DebugInfoReadStream;
0 5 1 code Lsun/jvm/hotspot/code/NMethod;
0 5 2 offset I
MethodParameters:
Name Flags
code
offset
public void <init>(sun.jvm.hotspot.code.NMethod, int, java.util.List);
descriptor: (Lsun/jvm/hotspot/code/NMethod;ILjava/util/List;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
invokevirtual sun.jvm.hotspot.code.NMethod.scopesDataBegin:()Lsun/jvm/hotspot/debugger/Address;
iload 2
invokespecial sun.jvm.hotspot.code.CompressedReadStream.<init>:(Lsun/jvm/hotspot/debugger/Address;I)V
1: aload 0
invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
invokevirtual sun.jvm.hotspot.runtime.VM.getInvocationEntryBCI:()I
putfield sun.jvm.hotspot.code.DebugInfoReadStream.InvocationEntryBCI:I
2: aload 0
aload 1
putfield sun.jvm.hotspot.code.DebugInfoReadStream.code:Lsun/jvm/hotspot/code/NMethod;
3: aload 0
aload 3
putfield sun.jvm.hotspot.code.DebugInfoReadStream.objectPool:Ljava/util/List;
4: return
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/code/DebugInfoReadStream;
0 5 1 code Lsun/jvm/hotspot/code/NMethod;
0 5 2 offset I
0 5 3 objectPool Ljava/util/List;
MethodParameters:
Name Flags
code
offset
objectPool
public sun.jvm.hotspot.debugger.OopHandle readOopHandle();
descriptor: ()Lsun/jvm/hotspot/debugger/OopHandle;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.jvm.hotspot.code.DebugInfoReadStream.code:Lsun/jvm/hotspot/code/NMethod;
aload 0
invokevirtual sun.jvm.hotspot.code.DebugInfoReadStream.readInt:()I
invokevirtual sun.jvm.hotspot.code.NMethod.getOopAt:(I)Lsun/jvm/hotspot/debugger/OopHandle;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/code/DebugInfoReadStream;
public sun.jvm.hotspot.oops.Method readMethod();
descriptor: ()Lsun/jvm/hotspot/oops/Method;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.jvm.hotspot.code.DebugInfoReadStream.code:Lsun/jvm/hotspot/code/NMethod;
aload 0
invokevirtual sun.jvm.hotspot.code.DebugInfoReadStream.readInt:()I
invokevirtual sun.jvm.hotspot.code.NMethod.getMethodAt:(I)Lsun/jvm/hotspot/oops/Method;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/code/DebugInfoReadStream;
sun.jvm.hotspot.code.ScopeValue readObjectValue();
descriptor: ()Lsun/jvm/hotspot/code/ScopeValue;
flags: (0x0000)
Code:
stack=3, locals=4, args_size=1
start local 0 0: aload 0
invokevirtual sun.jvm.hotspot.code.DebugInfoReadStream.readInt:()I
istore 1
start local 1 1: getstatic sun.jvm.hotspot.utilities.Assert.ASSERTS_ENABLED:Z
ifeq 12
2: aload 0
getfield sun.jvm.hotspot.code.DebugInfoReadStream.objectPool:Ljava/util/List;
ifnull 3
iconst_1
goto 4
StackMap locals: int
StackMap stack:
3: iconst_0
StackMap locals:
StackMap stack: int
4: ldc "object pool does not exist"
invokestatic sun.jvm.hotspot.utilities.Assert.that:(ZLjava/lang/String;)V
5: aload 0
getfield sun.jvm.hotspot.code.DebugInfoReadStream.objectPool:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 2
start local 2 6: goto 11
7: StackMap locals: java.util.Iterator
StackMap stack:
aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.jvm.hotspot.code.ObjectValue
astore 3
start local 3 8: aload 3
invokevirtual sun.jvm.hotspot.code.ObjectValue.id:()I
iload 1
if_icmpeq 9
iconst_1
goto 10
StackMap locals: sun.jvm.hotspot.code.ObjectValue
StackMap stack:
9: iconst_0
StackMap locals:
StackMap stack: int
10: ldc "should not be read twice"
invokestatic sun.jvm.hotspot.utilities.Assert.that:(ZLjava/lang/String;)V
end local 3 11: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
end local 2 12: StackMap locals:
StackMap stack:
new sun.jvm.hotspot.code.ObjectValue
dup
iload 1
invokespecial sun.jvm.hotspot.code.ObjectValue.<init>:(I)V
astore 2
start local 2 13: aload 0
getfield sun.jvm.hotspot.code.DebugInfoReadStream.objectPool:Ljava/util/List;
aload 2
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
14: aload 2
aload 0
invokevirtual sun.jvm.hotspot.code.ObjectValue.readObject:(Lsun/jvm/hotspot/code/DebugInfoReadStream;)V
15: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lsun/jvm/hotspot/code/DebugInfoReadStream;
1 16 1 id I
6 12 2 itr Ljava/util/Iterator;
8 11 3 ov Lsun/jvm/hotspot/code/ObjectValue;
13 16 2 result Lsun/jvm/hotspot/code/ObjectValue;
sun.jvm.hotspot.code.ScopeValue getCachedObject();
descriptor: ()Lsun/jvm/hotspot/code/ScopeValue;
flags: (0x0000)
Code:
stack=2, locals=4, args_size=1
start local 0 0: aload 0
invokevirtual sun.jvm.hotspot.code.DebugInfoReadStream.readInt:()I
istore 1
start local 1 1: aload 0
getfield sun.jvm.hotspot.code.DebugInfoReadStream.objectPool:Ljava/util/List;
ifnull 2
iconst_1
goto 3
StackMap locals: int
StackMap stack:
2: iconst_0
StackMap locals:
StackMap stack: int
3: ldc "object pool does not exist"
invokestatic sun.jvm.hotspot.utilities.Assert.that:(ZLjava/lang/String;)V
4: aload 0
getfield sun.jvm.hotspot.code.DebugInfoReadStream.objectPool:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 2
start local 2 5: goto 9
6: StackMap locals: java.util.Iterator
StackMap stack:
aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.jvm.hotspot.code.ObjectValue
astore 3
start local 3 7: aload 3
invokevirtual sun.jvm.hotspot.code.ObjectValue.id:()I
iload 1
if_icmpne 9
8: aload 3
areturn
end local 3 9: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
end local 2 10: iconst_0
ldc "should not reach here"
invokestatic sun.jvm.hotspot.utilities.Assert.that:(ZLjava/lang/String;)V
11: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lsun/jvm/hotspot/code/DebugInfoReadStream;
1 12 1 id I
5 10 2 itr Ljava/util/Iterator;
7 9 3 ov Lsun/jvm/hotspot/code/ObjectValue;
public int readBCI();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual sun.jvm.hotspot.code.DebugInfoReadStream.readInt:()I
aload 0
getfield sun.jvm.hotspot.code.DebugInfoReadStream.InvocationEntryBCI:I
iadd
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/code/DebugInfoReadStream;
}
SourceFile: "DebugInfoReadStream.java"