public class sun.jvm.hotspot.utilities.PointerFinder
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.jvm.hotspot.utilities.PointerFinder
super_class: java.lang.Object
{
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // sun.jvm.hotspot.utilities.PointerFinder this
0: .line 40
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // sun.jvm.hotspot.utilities.PointerFinder this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/utilities/PointerFinder;
public static sun.jvm.hotspot.utilities.PointerLocation find(sun.jvm.hotspot.debugger.Address);
descriptor: (Lsun/jvm/hotspot/debugger/Address;)Lsun/jvm/hotspot/utilities/PointerLocation;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=10, args_size=1
start local 0 // sun.jvm.hotspot.debugger.Address a
0: .line 42
new sun.jvm.hotspot.utilities.PointerLocation
dup
aload 0 /* a */
invokespecial sun.jvm.hotspot.utilities.PointerLocation.<init>:(Lsun/jvm/hotspot/debugger/Address;)V
astore 1 /* loc */
start local 1 // sun.jvm.hotspot.utilities.PointerLocation loc
1: .line 43
invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
invokevirtual sun.jvm.hotspot.runtime.VM.getThreads:()Lsun/jvm/hotspot/runtime/Threads;
astore 2 /* threads */
start local 2 // sun.jvm.hotspot.runtime.Threads threads
2: .line 47
aload 1 /* loc */
aload 0 /* a */
invokestatic sun.jvm.hotspot.oops.Metadata.instantiateWrapperFor:(Lsun/jvm/hotspot/debugger/Address;)Lsun/jvm/hotspot/oops/Metadata;
putfield sun.jvm.hotspot.utilities.PointerLocation.metadata:Lsun/jvm/hotspot/oops/Metadata;
3: .line 48
aload 1 /* loc */
4: areturn
5: .line 49
StackMap locals: sun.jvm.hotspot.debugger.Address sun.jvm.hotspot.utilities.PointerLocation sun.jvm.hotspot.runtime.Threads
StackMap stack: java.lang.Exception
pop
6: .line 54
aload 1 /* loc */
invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
invokevirtual sun.jvm.hotspot.runtime.VM.getTypeDataBase:()Lsun/jvm/hotspot/types/TypeDataBase;
aload 0 /* a */
invokeinterface sun.jvm.hotspot.types.TypeDataBase.guessTypeForAddress:(Lsun/jvm/hotspot/debugger/Address;)Lsun/jvm/hotspot/types/Type;
putfield sun.jvm.hotspot.utilities.PointerLocation.ctype:Lsun/jvm/hotspot/types/Type;
7: .line 55
aload 1 /* loc */
getfield sun.jvm.hotspot.utilities.PointerLocation.ctype:Lsun/jvm/hotspot/types/Type;
ifnonnull 14
invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
invokevirtual sun.jvm.hotspot.runtime.VM.isSharingEnabled:()Z
ifeq 14
8: .line 58
aload 0 /* a */
lconst_0
invokeinterface sun.jvm.hotspot.debugger.Address.getAddressAt:(J)Lsun/jvm/hotspot/debugger/Address;
astore 3 /* loc1 */
start local 3 // sun.jvm.hotspot.debugger.Address loc1
9: .line 59
invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
invokevirtual sun.jvm.hotspot.runtime.VM.getFileMapInfo:()Lsun/jvm/hotspot/memory/FileMapInfo;
astore 4 /* cdsFileMapInfo */
start local 4 // sun.jvm.hotspot.memory.FileMapInfo cdsFileMapInfo
10: .line 60
aload 4 /* cdsFileMapInfo */
aload 3 /* loc1 */
invokevirtual sun.jvm.hotspot.memory.FileMapInfo.inCopiedVtableSpace:(Lsun/jvm/hotspot/debugger/Address;)Z
ifeq 14
11: .line 61
aload 1 /* loc */
aload 4 /* cdsFileMapInfo */
aload 3 /* loc1 */
invokevirtual sun.jvm.hotspot.memory.FileMapInfo.getTypeForVptrAddress:(Lsun/jvm/hotspot/debugger/Address;)Lsun/jvm/hotspot/types/Type;
putfield sun.jvm.hotspot.utilities.PointerLocation.ctype:Lsun/jvm/hotspot/types/Type;
end local 4 // sun.jvm.hotspot.memory.FileMapInfo cdsFileMapInfo
end local 3 // sun.jvm.hotspot.debugger.Address loc1
12: .line 63
goto 14
StackMap locals:
StackMap stack: java.lang.RuntimeException
13: pop
14: .line 67
StackMap locals:
StackMap stack:
aload 1 /* loc */
getfield sun.jvm.hotspot.utilities.PointerLocation.ctype:Lsun/jvm/hotspot/types/Type;
ifnull 16
15: .line 68
aload 1 /* loc */
areturn
16: .line 72
StackMap locals:
StackMap stack:
iconst_0
istore 3 /* i */
start local 3 // int i
17: goto 27
18: .line 73
StackMap locals: int
StackMap stack:
aload 2 /* threads */
iload 3 /* i */
invokevirtual sun.jvm.hotspot.runtime.Threads.getJavaThreadAt:(I)Lsun/jvm/hotspot/runtime/JavaThread;
astore 4 /* t */
start local 4 // sun.jvm.hotspot.runtime.JavaThread t
19: .line 74
aload 4 /* t */
invokevirtual sun.jvm.hotspot.runtime.JavaThread.getStackBase:()Lsun/jvm/hotspot/debugger/Address;
astore 5 /* stackBase */
start local 5 // sun.jvm.hotspot.debugger.Address stackBase
20: .line 75
aload 5 /* stackBase */
ifnull 26
21: .line 76
aload 4 /* t */
invokevirtual sun.jvm.hotspot.runtime.JavaThread.getStackSize:()J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
astore 6 /* stackSize */
start local 6 // java.lang.Long stackSize
22: .line 77
aload 5 /* stackBase */
aload 6 /* stackSize */
invokevirtual java.lang.Long.longValue:()J
lneg
invokeinterface sun.jvm.hotspot.debugger.Address.addOffsetTo:(J)Lsun/jvm/hotspot/debugger/Address;
astore 7 /* stackEnd */
start local 7 // sun.jvm.hotspot.debugger.Address stackEnd
23: .line 78
aload 0 /* a */
aload 5 /* stackBase */
invokeinterface sun.jvm.hotspot.debugger.Address.lessThanOrEqual:(Lsun/jvm/hotspot/debugger/Address;)Z
ifeq 26
aload 0 /* a */
aload 7 /* stackEnd */
invokeinterface sun.jvm.hotspot.debugger.Address.greaterThan:(Lsun/jvm/hotspot/debugger/Address;)Z
ifeq 26
24: .line 79
aload 1 /* loc */
aload 4 /* t */
putfield sun.jvm.hotspot.utilities.PointerLocation.stackThread:Lsun/jvm/hotspot/runtime/JavaThread;
25: .line 80
aload 1 /* loc */
areturn
end local 7 // sun.jvm.hotspot.debugger.Address stackEnd
end local 6 // java.lang.Long stackSize
end local 5 // sun.jvm.hotspot.debugger.Address stackBase
end local 4 // sun.jvm.hotspot.runtime.JavaThread t
26: .line 72
StackMap locals:
StackMap stack:
iinc 3 /* i */ 1
StackMap locals:
StackMap stack:
27: iload 3 /* i */
aload 2 /* threads */
invokevirtual sun.jvm.hotspot.runtime.Threads.getNumberOfThreads:()I
if_icmplt 18
end local 3 // int i
28: .line 86
invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
invokevirtual sun.jvm.hotspot.runtime.VM.getUniverse:()Lsun/jvm/hotspot/memory/Universe;
invokevirtual sun.jvm.hotspot.memory.Universe.heap:()Lsun/jvm/hotspot/gc/shared/CollectedHeap;
astore 3 /* heap */
start local 3 // sun.jvm.hotspot.gc.shared.CollectedHeap heap
29: .line 87
aload 3 /* heap */
instanceof sun.jvm.hotspot.gc.shared.GenCollectedHeap
ifeq 57
30: .line 88
aload 3 /* heap */
checkcast sun.jvm.hotspot.gc.shared.GenCollectedHeap
astore 4 /* genheap */
start local 4 // sun.jvm.hotspot.gc.shared.GenCollectedHeap genheap
31: .line 89
aload 4 /* genheap */
aload 0 /* a */
invokevirtual sun.jvm.hotspot.gc.shared.GenCollectedHeap.isIn:(Lsun/jvm/hotspot/debugger/Address;)Z
ifeq 60
32: .line 90
iconst_0
istore 5 /* i */
start local 5 // int i
33: goto 39
34: .line 91
StackMap locals: sun.jvm.hotspot.debugger.Address sun.jvm.hotspot.utilities.PointerLocation sun.jvm.hotspot.runtime.Threads sun.jvm.hotspot.gc.shared.CollectedHeap sun.jvm.hotspot.gc.shared.GenCollectedHeap int
StackMap stack:
aload 4 /* genheap */
iload 5 /* i */
invokevirtual sun.jvm.hotspot.gc.shared.GenCollectedHeap.getGen:(I)Lsun/jvm/hotspot/gc/shared/Generation;
astore 6 /* g */
start local 6 // sun.jvm.hotspot.gc.shared.Generation g
35: .line 92
aload 6 /* g */
aload 0 /* a */
invokevirtual sun.jvm.hotspot.gc.shared.Generation.isIn:(Lsun/jvm/hotspot/debugger/Address;)Z
ifeq 38
36: .line 93
aload 1 /* loc */
aload 6 /* g */
putfield sun.jvm.hotspot.utilities.PointerLocation.gen:Lsun/jvm/hotspot/gc/shared/Generation;
37: .line 94
goto 40
end local 6 // sun.jvm.hotspot.gc.shared.Generation g
38: .line 90
StackMap locals:
StackMap stack:
iinc 5 /* i */ 1
StackMap locals:
StackMap stack:
39: iload 5 /* i */
aload 4 /* genheap */
invokevirtual sun.jvm.hotspot.gc.shared.GenCollectedHeap.nGens:()I
if_icmplt 34
end local 5 // int i
40: .line 98
StackMap locals:
StackMap stack:
getstatic sun.jvm.hotspot.utilities.Assert.ASSERTS_ENABLED:Z
ifeq 44
41: .line 99
aload 1 /* loc */
getfield sun.jvm.hotspot.utilities.PointerLocation.gen:Lsun/jvm/hotspot/gc/shared/Generation;
ifnull 42
iconst_1
goto 43
StackMap locals:
StackMap stack:
42: iconst_0
StackMap locals:
StackMap stack: int
43: ldc "Should have found this in a generation"
invokestatic sun.jvm.hotspot.utilities.Assert.that:(ZLjava/lang/String;)V
44: .line 102
StackMap locals:
StackMap stack:
invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
invokevirtual sun.jvm.hotspot.runtime.VM.getUseTLAB:()Z
ifeq 56
45: .line 104
iconst_0
istore 5 /* i */
start local 5 // int i
46: goto 55
47: .line 105
StackMap locals: int
StackMap stack:
aload 2 /* threads */
iload 5 /* i */
invokevirtual sun.jvm.hotspot.runtime.Threads.getJavaThreadAt:(I)Lsun/jvm/hotspot/runtime/JavaThread;
astore 6 /* t */
start local 6 // sun.jvm.hotspot.runtime.JavaThread t
48: .line 106
aload 6 /* t */
invokevirtual sun.jvm.hotspot.runtime.JavaThread.tlab:()Lsun/jvm/hotspot/runtime/ThreadLocalAllocBuffer;
astore 7 /* tlab */
start local 7 // sun.jvm.hotspot.runtime.ThreadLocalAllocBuffer tlab
49: .line 107
aload 7 /* tlab */
aload 0 /* a */
invokevirtual sun.jvm.hotspot.runtime.ThreadLocalAllocBuffer.contains:(Lsun/jvm/hotspot/debugger/Address;)Z
ifeq 54
50: .line 108
aload 1 /* loc */
iconst_1
putfield sun.jvm.hotspot.utilities.PointerLocation.inTLAB:Z
51: .line 109
aload 1 /* loc */
aload 6 /* t */
putfield sun.jvm.hotspot.utilities.PointerLocation.tlabThread:Lsun/jvm/hotspot/runtime/JavaThread;
52: .line 110
aload 1 /* loc */
aload 7 /* tlab */
putfield sun.jvm.hotspot.utilities.PointerLocation.tlab:Lsun/jvm/hotspot/runtime/ThreadLocalAllocBuffer;
53: .line 111
goto 56
end local 7 // sun.jvm.hotspot.runtime.ThreadLocalAllocBuffer tlab
end local 6 // sun.jvm.hotspot.runtime.JavaThread t
54: .line 104
StackMap locals:
StackMap stack:
iinc 5 /* i */ 1
StackMap locals:
StackMap stack:
55: iload 5 /* i */
aload 2 /* threads */
invokevirtual sun.jvm.hotspot.runtime.Threads.getNumberOfThreads:()I
if_icmplt 47
end local 5 // int i
56: .line 116
StackMap locals:
StackMap stack:
aload 1 /* loc */
areturn
end local 4 // sun.jvm.hotspot.gc.shared.GenCollectedHeap genheap
57: .line 119
StackMap locals:
StackMap stack:
aload 3 /* heap */
aload 0 /* a */
invokevirtual sun.jvm.hotspot.gc.shared.CollectedHeap.isIn:(Lsun/jvm/hotspot/debugger/Address;)Z
ifeq 60
58: .line 120
aload 1 /* loc */
aload 3 /* heap */
putfield sun.jvm.hotspot.utilities.PointerLocation.heap:Lsun/jvm/hotspot/gc/shared/CollectedHeap;
59: .line 121
aload 1 /* loc */
areturn
60: .line 126
StackMap locals:
StackMap stack:
invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
invokevirtual sun.jvm.hotspot.runtime.VM.getInterpreter:()Lsun/jvm/hotspot/interpreter/Interpreter;
astore 4 /* interp */
start local 4 // sun.jvm.hotspot.interpreter.Interpreter interp
61: .line 127
aload 4 /* interp */
aload 0 /* a */
invokevirtual sun.jvm.hotspot.interpreter.Interpreter.contains:(Lsun/jvm/hotspot/debugger/Address;)Z
ifeq 65
62: .line 128
aload 1 /* loc */
iconst_1
putfield sun.jvm.hotspot.utilities.PointerLocation.inInterpreter:Z
63: .line 129
aload 1 /* loc */
aload 4 /* interp */
aload 0 /* a */
invokevirtual sun.jvm.hotspot.interpreter.Interpreter.getCodeletContaining:(Lsun/jvm/hotspot/debugger/Address;)Lsun/jvm/hotspot/interpreter/InterpreterCodelet;
putfield sun.jvm.hotspot.utilities.PointerLocation.interpreterCodelet:Lsun/jvm/hotspot/interpreter/InterpreterCodelet;
64: .line 130
aload 1 /* loc */
areturn
65: .line 134
StackMap locals: sun.jvm.hotspot.interpreter.Interpreter
StackMap stack:
invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
invokevirtual sun.jvm.hotspot.runtime.VM.isCore:()Z
ifne 86
66: .line 135
invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
invokevirtual sun.jvm.hotspot.runtime.VM.getCodeCache:()Lsun/jvm/hotspot/code/CodeCache;
astore 5 /* c */
start local 5 // sun.jvm.hotspot.code.CodeCache c
67: .line 136
aload 5 /* c */
aload 0 /* a */
invokevirtual sun.jvm.hotspot.code.CodeCache.contains:(Lsun/jvm/hotspot/debugger/Address;)Z
ifeq 86
68: .line 137
aload 1 /* loc */
iconst_1
putfield sun.jvm.hotspot.utilities.PointerLocation.inCodeCache:Z
69: .line 138
aload 1 /* loc */
aload 5 /* c */
aload 0 /* a */
invokevirtual sun.jvm.hotspot.code.CodeCache.findBlobUnsafe:(Lsun/jvm/hotspot/debugger/Address;)Lsun/jvm/hotspot/code/CodeBlob;
putfield sun.jvm.hotspot.utilities.PointerLocation.blob:Lsun/jvm/hotspot/code/CodeBlob;
70: .line 139
getstatic sun.jvm.hotspot.utilities.Assert.ASSERTS_ENABLED:Z
ifeq 74
71: .line 140
aload 1 /* loc */
getfield sun.jvm.hotspot.utilities.PointerLocation.blob:Lsun/jvm/hotspot/code/CodeBlob;
ifnull 72
iconst_1
goto 73
StackMap locals: sun.jvm.hotspot.code.CodeCache
StackMap stack:
72: iconst_0
StackMap locals:
StackMap stack: int
73: ldc "Should have found CodeBlob"
invokestatic sun.jvm.hotspot.utilities.Assert.that:(ZLjava/lang/String;)V
74: .line 142
StackMap locals:
StackMap stack:
aload 1 /* loc */
aload 1 /* loc */
getfield sun.jvm.hotspot.utilities.PointerLocation.blob:Lsun/jvm/hotspot/code/CodeBlob;
aload 0 /* a */
invokevirtual sun.jvm.hotspot.code.CodeBlob.codeContains:(Lsun/jvm/hotspot/debugger/Address;)Z
putfield sun.jvm.hotspot.utilities.PointerLocation.inBlobCode:Z
75: .line 143
aload 1 /* loc */
aload 1 /* loc */
getfield sun.jvm.hotspot.utilities.PointerLocation.blob:Lsun/jvm/hotspot/code/CodeBlob;
aload 0 /* a */
invokevirtual sun.jvm.hotspot.code.CodeBlob.dataContains:(Lsun/jvm/hotspot/debugger/Address;)Z
putfield sun.jvm.hotspot.utilities.PointerLocation.inBlobData:Z
76: .line 145
aload 1 /* loc */
getfield sun.jvm.hotspot.utilities.PointerLocation.blob:Lsun/jvm/hotspot/code/CodeBlob;
invokevirtual sun.jvm.hotspot.code.CodeBlob.isNMethod:()Z
ifeq 79
77: .line 146
aload 1 /* loc */
getfield sun.jvm.hotspot.utilities.PointerLocation.blob:Lsun/jvm/hotspot/code/CodeBlob;
checkcast sun.jvm.hotspot.code.NMethod
astore 6 /* nm */
start local 6 // sun.jvm.hotspot.code.NMethod nm
78: .line 147
aload 1 /* loc */
aload 6 /* nm */
aload 0 /* a */
invokevirtual sun.jvm.hotspot.code.NMethod.oopsContains:(Lsun/jvm/hotspot/debugger/Address;)Z
putfield sun.jvm.hotspot.utilities.PointerLocation.inBlobOops:Z
end local 6 // sun.jvm.hotspot.code.NMethod nm
79: .line 150
StackMap locals:
StackMap stack:
aload 1 /* loc */
aload 1 /* loc */
getfield sun.jvm.hotspot.utilities.PointerLocation.inBlobCode:Z
ifne 82
80: .line 151
aload 1 /* loc */
getfield sun.jvm.hotspot.utilities.PointerLocation.inBlobData:Z
ifne 82
81: .line 152
aload 1 /* loc */
getfield sun.jvm.hotspot.utilities.PointerLocation.inBlobOops:Z
ifeq 83
StackMap locals:
StackMap stack: sun.jvm.hotspot.utilities.PointerLocation
82: iconst_0
goto 84
StackMap locals:
StackMap stack: sun.jvm.hotspot.utilities.PointerLocation
83: iconst_1
84: .line 150
StackMap locals: sun.jvm.hotspot.debugger.Address sun.jvm.hotspot.utilities.PointerLocation sun.jvm.hotspot.runtime.Threads sun.jvm.hotspot.gc.shared.CollectedHeap sun.jvm.hotspot.interpreter.Interpreter sun.jvm.hotspot.code.CodeCache
StackMap stack: sun.jvm.hotspot.utilities.PointerLocation int
putfield sun.jvm.hotspot.utilities.PointerLocation.inBlobUnknownLocation:Z
85: .line 153
aload 1 /* loc */
areturn
end local 5 // sun.jvm.hotspot.code.CodeCache c
86: .line 158
StackMap locals:
StackMap stack:
invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
invokevirtual sun.jvm.hotspot.runtime.VM.getJNIHandles:()Lsun/jvm/hotspot/runtime/JNIHandles;
astore 5 /* handles */
start local 5 // sun.jvm.hotspot.runtime.JNIHandles handles
87: .line 164
aload 5 /* handles */
invokevirtual sun.jvm.hotspot.runtime.JNIHandles.globalHandles:()Lsun/jvm/hotspot/gc/shared/OopStorage;
astore 6 /* storage */
start local 6 // sun.jvm.hotspot.gc.shared.OopStorage storage
88: .line 165
aload 6 /* storage */
ifnull 91
aload 6 /* storage */
aload 0 /* a */
invokevirtual sun.jvm.hotspot.gc.shared.OopStorage.findOop:(Lsun/jvm/hotspot/debugger/Address;)Z
ifeq 91
89: .line 166
aload 1 /* loc */
iconst_1
putfield sun.jvm.hotspot.utilities.PointerLocation.inStrongGlobalJNIHandles:Z
90: .line 167
aload 1 /* loc */
areturn
91: .line 170
StackMap locals: sun.jvm.hotspot.runtime.JNIHandles sun.jvm.hotspot.gc.shared.OopStorage
StackMap stack:
aload 5 /* handles */
invokevirtual sun.jvm.hotspot.runtime.JNIHandles.weakGlobalHandles:()Lsun/jvm/hotspot/gc/shared/OopStorage;
astore 6 /* storage */
92: .line 171
aload 6 /* storage */
ifnull 95
aload 6 /* storage */
aload 0 /* a */
invokevirtual sun.jvm.hotspot.gc.shared.OopStorage.findOop:(Lsun/jvm/hotspot/debugger/Address;)Z
ifeq 95
93: .line 172
aload 1 /* loc */
iconst_1
putfield sun.jvm.hotspot.utilities.PointerLocation.inWeakGlobalJNIHandles:Z
94: .line 173
aload 1 /* loc */
areturn
95: .line 176
StackMap locals:
StackMap stack:
iconst_0
istore 7 /* i */
start local 7 // int i
96: goto 107
97: .line 177
StackMap locals: int
StackMap stack:
aload 2 /* threads */
iload 7 /* i */
invokevirtual sun.jvm.hotspot.runtime.Threads.getJavaThreadAt:(I)Lsun/jvm/hotspot/runtime/JavaThread;
astore 8 /* t */
start local 8 // sun.jvm.hotspot.runtime.JavaThread t
98: .line 178
aload 8 /* t */
invokevirtual sun.jvm.hotspot.runtime.JavaThread.activeHandles:()Lsun/jvm/hotspot/runtime/JNIHandleBlock;
astore 9 /* handleBlock */
start local 9 // sun.jvm.hotspot.runtime.JNIHandleBlock handleBlock
99: .line 179
aload 9 /* handleBlock */
ifnull 106
100: .line 180
aload 9 /* handleBlock */
aload 0 /* a */
invokevirtual sun.jvm.hotspot.runtime.JNIHandleBlock.blockContainingHandle:(Lsun/jvm/hotspot/debugger/Address;)Lsun/jvm/hotspot/runtime/JNIHandleBlock;
astore 9 /* handleBlock */
101: .line 181
aload 9 /* handleBlock */
ifnull 106
102: .line 182
aload 1 /* loc */
iconst_1
putfield sun.jvm.hotspot.utilities.PointerLocation.inLocalJNIHandleBlock:Z
103: .line 183
aload 1 /* loc */
aload 9 /* handleBlock */
putfield sun.jvm.hotspot.utilities.PointerLocation.handleBlock:Lsun/jvm/hotspot/runtime/JNIHandleBlock;
104: .line 184
aload 1 /* loc */
aload 8 /* t */
putfield sun.jvm.hotspot.utilities.PointerLocation.handleThread:Lsun/jvm/hotspot/runtime/Thread;
105: .line 185
aload 1 /* loc */
areturn
end local 9 // sun.jvm.hotspot.runtime.JNIHandleBlock handleBlock
end local 8 // sun.jvm.hotspot.runtime.JavaThread t
106: .line 176
StackMap locals:
StackMap stack:
iinc 7 /* i */ 1
StackMap locals:
StackMap stack:
107: iload 7 /* i */
aload 2 /* threads */
invokevirtual sun.jvm.hotspot.runtime.Threads.getNumberOfThreads:()I
if_icmplt 97
end local 7 // int i
108: .line 193
invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
invokevirtual sun.jvm.hotspot.runtime.VM.getDebugger:()Lsun/jvm/hotspot/debugger/JVMDebugger;
astore 7 /* dbg */
start local 7 // sun.jvm.hotspot.debugger.JVMDebugger dbg
109: .line 194
aload 7 /* dbg */
invokeinterface sun.jvm.hotspot.debugger.JVMDebugger.getCDebugger:()Lsun/jvm/hotspot/debugger/cdbg/CDebugger;
astore 8 /* cdbg */
start local 8 // sun.jvm.hotspot.debugger.cdbg.CDebugger cdbg
110: .line 195
aload 8 /* cdbg */
ifnull 115
111: .line 196
aload 1 /* loc */
aload 8 /* cdbg */
aload 0 /* a */
invokeinterface sun.jvm.hotspot.debugger.cdbg.CDebugger.loadObjectContainingPC:(Lsun/jvm/hotspot/debugger/Address;)Lsun/jvm/hotspot/debugger/cdbg/LoadObject;
putfield sun.jvm.hotspot.utilities.PointerLocation.loadObject:Lsun/jvm/hotspot/debugger/cdbg/LoadObject;
112: .line 197
aload 1 /* loc */
getfield sun.jvm.hotspot.utilities.PointerLocation.loadObject:Lsun/jvm/hotspot/debugger/cdbg/LoadObject;
ifnull 115
113: .line 198
aload 1 /* loc */
aload 1 /* loc */
getfield sun.jvm.hotspot.utilities.PointerLocation.loadObject:Lsun/jvm/hotspot/debugger/cdbg/LoadObject;
aload 0 /* a */
invokeinterface sun.jvm.hotspot.debugger.cdbg.LoadObject.closestSymbolToPC:(Lsun/jvm/hotspot/debugger/Address;)Lsun/jvm/hotspot/debugger/cdbg/ClosestSymbol;
putfield sun.jvm.hotspot.utilities.PointerLocation.nativeSymbol:Lsun/jvm/hotspot/debugger/cdbg/ClosestSymbol;
114: .line 199
aload 1 /* loc */
areturn
115: .line 204
StackMap locals: sun.jvm.hotspot.debugger.Address sun.jvm.hotspot.utilities.PointerLocation sun.jvm.hotspot.runtime.Threads sun.jvm.hotspot.gc.shared.CollectedHeap sun.jvm.hotspot.interpreter.Interpreter sun.jvm.hotspot.runtime.JNIHandles sun.jvm.hotspot.gc.shared.OopStorage sun.jvm.hotspot.debugger.JVMDebugger sun.jvm.hotspot.debugger.cdbg.CDebugger
StackMap stack:
aload 1 /* loc */
areturn
end local 8 // sun.jvm.hotspot.debugger.cdbg.CDebugger cdbg
end local 7 // sun.jvm.hotspot.debugger.JVMDebugger dbg
end local 6 // sun.jvm.hotspot.gc.shared.OopStorage storage
end local 5 // sun.jvm.hotspot.runtime.JNIHandles handles
end local 4 // sun.jvm.hotspot.interpreter.Interpreter interp
end local 3 // sun.jvm.hotspot.gc.shared.CollectedHeap heap
end local 2 // sun.jvm.hotspot.runtime.Threads threads
end local 1 // sun.jvm.hotspot.utilities.PointerLocation loc
end local 0 // sun.jvm.hotspot.debugger.Address a
LocalVariableTable:
Start End Slot Name Signature
0 116 0 a Lsun/jvm/hotspot/debugger/Address;
1 116 1 loc Lsun/jvm/hotspot/utilities/PointerLocation;
2 116 2 threads Lsun/jvm/hotspot/runtime/Threads;
9 12 3 loc1 Lsun/jvm/hotspot/debugger/Address;
10 12 4 cdsFileMapInfo Lsun/jvm/hotspot/memory/FileMapInfo;
17 28 3 i I
19 26 4 t Lsun/jvm/hotspot/runtime/JavaThread;
20 26 5 stackBase Lsun/jvm/hotspot/debugger/Address;
22 26 6 stackSize Ljava/lang/Long;
23 26 7 stackEnd Lsun/jvm/hotspot/debugger/Address;
29 116 3 heap Lsun/jvm/hotspot/gc/shared/CollectedHeap;
31 57 4 genheap Lsun/jvm/hotspot/gc/shared/GenCollectedHeap;
33 40 5 i I
35 38 6 g Lsun/jvm/hotspot/gc/shared/Generation;
46 56 5 i I
48 54 6 t Lsun/jvm/hotspot/runtime/JavaThread;
49 54 7 tlab Lsun/jvm/hotspot/runtime/ThreadLocalAllocBuffer;
61 116 4 interp Lsun/jvm/hotspot/interpreter/Interpreter;
67 86 5 c Lsun/jvm/hotspot/code/CodeCache;
78 79 6 nm Lsun/jvm/hotspot/code/NMethod;
87 116 5 handles Lsun/jvm/hotspot/runtime/JNIHandles;
88 116 6 storage Lsun/jvm/hotspot/gc/shared/OopStorage;
96 108 7 i I
98 106 8 t Lsun/jvm/hotspot/runtime/JavaThread;
99 106 9 handleBlock Lsun/jvm/hotspot/runtime/JNIHandleBlock;
109 116 7 dbg Lsun/jvm/hotspot/debugger/JVMDebugger;
110 116 8 cdbg Lsun/jvm/hotspot/debugger/cdbg/CDebugger;
Exception table:
from to target type
2 4 5 Class java.lang.Exception
8 12 13 Class sun.jvm.hotspot.debugger.AddressException
8 12 13 Class sun.jvm.hotspot.types.WrongTypeException
MethodParameters:
Name Flags
a
}
SourceFile: "PointerFinder.java"