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 37
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=7, args_size=1
start local 0 // sun.jvm.hotspot.debugger.Address a
0: .line 39
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 41
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 2 /* heap */
start local 2 // sun.jvm.hotspot.gc.shared.CollectedHeap heap
2: .line 42
aload 2 /* heap */
instanceof sun.jvm.hotspot.gc.shared.GenCollectedHeap
ifeq 29
3: .line 43
aload 2 /* heap */
checkcast sun.jvm.hotspot.gc.shared.GenCollectedHeap
astore 3 /* genheap */
start local 3 // sun.jvm.hotspot.gc.shared.GenCollectedHeap genheap
4: .line 44
aload 3 /* genheap */
aload 0 /* a */
invokevirtual sun.jvm.hotspot.gc.shared.GenCollectedHeap.isIn:(Lsun/jvm/hotspot/debugger/Address;)Z
ifeq 32
5: .line 45
iconst_0
istore 4 /* i */
start local 4 // int i
6: goto 12
7: .line 46
StackMap locals: sun.jvm.hotspot.debugger.Address sun.jvm.hotspot.utilities.PointerLocation sun.jvm.hotspot.gc.shared.CollectedHeap sun.jvm.hotspot.gc.shared.GenCollectedHeap int
StackMap stack:
aload 3 /* genheap */
iload 4 /* i */
invokevirtual sun.jvm.hotspot.gc.shared.GenCollectedHeap.getGen:(I)Lsun/jvm/hotspot/gc/shared/Generation;
astore 5 /* g */
start local 5 // sun.jvm.hotspot.gc.shared.Generation g
8: .line 47
aload 5 /* g */
aload 0 /* a */
invokevirtual sun.jvm.hotspot.gc.shared.Generation.isIn:(Lsun/jvm/hotspot/debugger/Address;)Z
ifeq 11
9: .line 48
aload 1 /* loc */
aload 5 /* g */
putfield sun.jvm.hotspot.utilities.PointerLocation.gen:Lsun/jvm/hotspot/gc/shared/Generation;
10: .line 49
goto 13
end local 5 // sun.jvm.hotspot.gc.shared.Generation g
11: .line 45
StackMap locals:
StackMap stack:
iinc 4 /* i */ 1
StackMap locals:
StackMap stack:
12: iload 4 /* i */
aload 3 /* genheap */
invokevirtual sun.jvm.hotspot.gc.shared.GenCollectedHeap.nGens:()I
if_icmplt 7
end local 4 // int i
13: .line 53
StackMap locals:
StackMap stack:
getstatic sun.jvm.hotspot.utilities.Assert.ASSERTS_ENABLED:Z
ifeq 17
14: .line 54
aload 1 /* loc */
getfield sun.jvm.hotspot.utilities.PointerLocation.gen:Lsun/jvm/hotspot/gc/shared/Generation;
ifnull 15
iconst_1
goto 16
StackMap locals:
StackMap stack:
15: iconst_0
StackMap locals:
StackMap stack: int
16: ldc "Should have found this in a generation"
invokestatic sun.jvm.hotspot.utilities.Assert.that:(ZLjava/lang/String;)V
17: .line 57
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 28
18: .line 59
invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
invokevirtual sun.jvm.hotspot.runtime.VM.getThreads:()Lsun/jvm/hotspot/runtime/Threads;
invokevirtual sun.jvm.hotspot.runtime.Threads.first:()Lsun/jvm/hotspot/runtime/JavaThread;
astore 4 /* t */
start local 4 // sun.jvm.hotspot.runtime.JavaThread t
19: goto 27
20: .line 60
StackMap locals: sun.jvm.hotspot.runtime.JavaThread
StackMap stack:
aload 4 /* t */
invokevirtual sun.jvm.hotspot.runtime.JavaThread.tlab:()Lsun/jvm/hotspot/runtime/ThreadLocalAllocBuffer;
astore 5 /* tlab */
start local 5 // sun.jvm.hotspot.runtime.ThreadLocalAllocBuffer tlab
21: .line 61
aload 5 /* tlab */
aload 0 /* a */
invokevirtual sun.jvm.hotspot.runtime.ThreadLocalAllocBuffer.contains:(Lsun/jvm/hotspot/debugger/Address;)Z
ifeq 26
22: .line 62
aload 1 /* loc */
iconst_1
putfield sun.jvm.hotspot.utilities.PointerLocation.inTLAB:Z
23: .line 63
aload 1 /* loc */
aload 4 /* t */
putfield sun.jvm.hotspot.utilities.PointerLocation.tlabThread:Lsun/jvm/hotspot/runtime/JavaThread;
24: .line 64
aload 1 /* loc */
aload 5 /* tlab */
putfield sun.jvm.hotspot.utilities.PointerLocation.tlab:Lsun/jvm/hotspot/runtime/ThreadLocalAllocBuffer;
25: .line 65
goto 28
end local 5 // sun.jvm.hotspot.runtime.ThreadLocalAllocBuffer tlab
26: .line 59
StackMap locals:
StackMap stack:
aload 4 /* t */
invokevirtual sun.jvm.hotspot.runtime.JavaThread.next:()Lsun/jvm/hotspot/runtime/JavaThread;
astore 4 /* t */
StackMap locals:
StackMap stack:
27: aload 4 /* t */
ifnonnull 20
end local 4 // sun.jvm.hotspot.runtime.JavaThread t
28: .line 70
StackMap locals:
StackMap stack:
aload 1 /* loc */
areturn
end local 3 // sun.jvm.hotspot.gc.shared.GenCollectedHeap genheap
29: .line 73
StackMap locals:
StackMap stack:
aload 2 /* heap */
aload 0 /* a */
invokevirtual sun.jvm.hotspot.gc.shared.CollectedHeap.isIn:(Lsun/jvm/hotspot/debugger/Address;)Z
ifeq 32
30: .line 74
aload 1 /* loc */
aload 2 /* heap */
putfield sun.jvm.hotspot.utilities.PointerLocation.heap:Lsun/jvm/hotspot/gc/shared/CollectedHeap;
31: .line 75
aload 1 /* loc */
areturn
32: .line 79
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 3 /* interp */
start local 3 // sun.jvm.hotspot.interpreter.Interpreter interp
33: .line 80
aload 3 /* interp */
aload 0 /* a */
invokevirtual sun.jvm.hotspot.interpreter.Interpreter.contains:(Lsun/jvm/hotspot/debugger/Address;)Z
ifeq 37
34: .line 81
aload 1 /* loc */
iconst_1
putfield sun.jvm.hotspot.utilities.PointerLocation.inInterpreter:Z
35: .line 82
aload 1 /* loc */
aload 3 /* 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;
36: .line 83
aload 1 /* loc */
areturn
37: .line 86
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 58
38: .line 87
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 4 /* c */
start local 4 // sun.jvm.hotspot.code.CodeCache c
39: .line 88
aload 4 /* c */
aload 0 /* a */
invokevirtual sun.jvm.hotspot.code.CodeCache.contains:(Lsun/jvm/hotspot/debugger/Address;)Z
ifeq 58
40: .line 89
aload 1 /* loc */
iconst_1
putfield sun.jvm.hotspot.utilities.PointerLocation.inCodeCache:Z
41: .line 90
aload 1 /* loc */
aload 4 /* 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;
42: .line 91
getstatic sun.jvm.hotspot.utilities.Assert.ASSERTS_ENABLED:Z
ifeq 46
43: .line 92
aload 1 /* loc */
getfield sun.jvm.hotspot.utilities.PointerLocation.blob:Lsun/jvm/hotspot/code/CodeBlob;
ifnull 44
iconst_1
goto 45
StackMap locals: sun.jvm.hotspot.code.CodeCache
StackMap stack:
44: iconst_0
StackMap locals:
StackMap stack: int
45: ldc "Should have found CodeBlob"
invokestatic sun.jvm.hotspot.utilities.Assert.that:(ZLjava/lang/String;)V
46: .line 94
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
47: .line 95
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
48: .line 97
aload 1 /* loc */
getfield sun.jvm.hotspot.utilities.PointerLocation.blob:Lsun/jvm/hotspot/code/CodeBlob;
invokevirtual sun.jvm.hotspot.code.CodeBlob.isNMethod:()Z
ifeq 51
49: .line 98
aload 1 /* loc */
getfield sun.jvm.hotspot.utilities.PointerLocation.blob:Lsun/jvm/hotspot/code/CodeBlob;
checkcast sun.jvm.hotspot.code.NMethod
astore 5 /* nm */
start local 5 // sun.jvm.hotspot.code.NMethod nm
50: .line 99
aload 1 /* loc */
aload 5 /* 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 5 // sun.jvm.hotspot.code.NMethod nm
51: .line 102
StackMap locals:
StackMap stack:
aload 1 /* loc */
aload 1 /* loc */
getfield sun.jvm.hotspot.utilities.PointerLocation.inBlobCode:Z
ifne 54
52: .line 103
aload 1 /* loc */
getfield sun.jvm.hotspot.utilities.PointerLocation.inBlobData:Z
ifne 54
53: .line 104
aload 1 /* loc */
getfield sun.jvm.hotspot.utilities.PointerLocation.inBlobOops:Z
ifeq 55
StackMap locals:
StackMap stack: sun.jvm.hotspot.utilities.PointerLocation
54: iconst_0
goto 56
StackMap locals:
StackMap stack: sun.jvm.hotspot.utilities.PointerLocation
55: iconst_1
56: .line 102
StackMap locals: sun.jvm.hotspot.debugger.Address sun.jvm.hotspot.utilities.PointerLocation 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
57: .line 105
aload 1 /* loc */
areturn
end local 4 // sun.jvm.hotspot.code.CodeCache c
58: .line 110
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 4 /* handles */
start local 4 // sun.jvm.hotspot.runtime.JNIHandles handles
59: .line 111
aload 4 /* handles */
invokevirtual sun.jvm.hotspot.runtime.JNIHandles.globalHandles:()Lsun/jvm/hotspot/runtime/JNIHandleBlock;
astore 5 /* handleBlock */
start local 5 // sun.jvm.hotspot.runtime.JNIHandleBlock handleBlock
60: .line 112
aload 5 /* handleBlock */
ifnull 62
61: .line 113
aload 5 /* handleBlock */
aload 0 /* a */
invokevirtual sun.jvm.hotspot.runtime.JNIHandleBlock.blockContainingHandle:(Lsun/jvm/hotspot/debugger/Address;)Lsun/jvm/hotspot/runtime/JNIHandleBlock;
astore 5 /* handleBlock */
62: .line 115
StackMap locals: sun.jvm.hotspot.runtime.JNIHandles sun.jvm.hotspot.runtime.JNIHandleBlock
StackMap stack:
aload 5 /* handleBlock */
ifnull 66
63: .line 116
aload 1 /* loc */
iconst_1
putfield sun.jvm.hotspot.utilities.PointerLocation.inStrongGlobalJNIHandleBlock:Z
64: .line 117
aload 1 /* loc */
aload 5 /* handleBlock */
putfield sun.jvm.hotspot.utilities.PointerLocation.handleBlock:Lsun/jvm/hotspot/runtime/JNIHandleBlock;
65: .line 118
aload 1 /* loc */
areturn
66: .line 120
StackMap locals:
StackMap stack:
aload 4 /* handles */
invokevirtual sun.jvm.hotspot.runtime.JNIHandles.weakGlobalHandles:()Lsun/jvm/hotspot/runtime/JNIHandleBlock;
astore 5 /* handleBlock */
67: .line 121
aload 5 /* handleBlock */
ifnull 85
68: .line 122
aload 5 /* handleBlock */
aload 0 /* a */
invokevirtual sun.jvm.hotspot.runtime.JNIHandleBlock.blockContainingHandle:(Lsun/jvm/hotspot/debugger/Address;)Lsun/jvm/hotspot/runtime/JNIHandleBlock;
astore 5 /* handleBlock */
69: .line 123
aload 5 /* handleBlock */
ifnull 73
70: .line 124
aload 1 /* loc */
iconst_1
putfield sun.jvm.hotspot.utilities.PointerLocation.inWeakGlobalJNIHandleBlock:Z
71: .line 125
aload 1 /* loc */
aload 5 /* handleBlock */
putfield sun.jvm.hotspot.utilities.PointerLocation.handleBlock:Lsun/jvm/hotspot/runtime/JNIHandleBlock;
72: .line 126
aload 1 /* loc */
areturn
73: .line 129
StackMap locals:
StackMap stack:
invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
invokevirtual sun.jvm.hotspot.runtime.VM.getThreads:()Lsun/jvm/hotspot/runtime/Threads;
invokevirtual sun.jvm.hotspot.runtime.Threads.first:()Lsun/jvm/hotspot/runtime/JavaThread;
astore 6 /* t */
start local 6 // sun.jvm.hotspot.runtime.JavaThread t
74: goto 84
75: .line 130
StackMap locals: sun.jvm.hotspot.runtime.JavaThread
StackMap stack:
aload 6 /* t */
invokevirtual sun.jvm.hotspot.runtime.JavaThread.activeHandles:()Lsun/jvm/hotspot/runtime/JNIHandleBlock;
astore 5 /* handleBlock */
76: .line 131
aload 5 /* handleBlock */
ifnull 83
77: .line 132
aload 5 /* handleBlock */
aload 0 /* a */
invokevirtual sun.jvm.hotspot.runtime.JNIHandleBlock.blockContainingHandle:(Lsun/jvm/hotspot/debugger/Address;)Lsun/jvm/hotspot/runtime/JNIHandleBlock;
astore 5 /* handleBlock */
78: .line 133
aload 5 /* handleBlock */
ifnull 83
79: .line 134
aload 1 /* loc */
iconst_1
putfield sun.jvm.hotspot.utilities.PointerLocation.inLocalJNIHandleBlock:Z
80: .line 135
aload 1 /* loc */
aload 5 /* handleBlock */
putfield sun.jvm.hotspot.utilities.PointerLocation.handleBlock:Lsun/jvm/hotspot/runtime/JNIHandleBlock;
81: .line 136
aload 1 /* loc */
aload 6 /* t */
putfield sun.jvm.hotspot.utilities.PointerLocation.handleThread:Lsun/jvm/hotspot/runtime/Thread;
82: .line 137
aload 1 /* loc */
areturn
83: .line 129
StackMap locals:
StackMap stack:
aload 6 /* t */
invokevirtual sun.jvm.hotspot.runtime.JavaThread.next:()Lsun/jvm/hotspot/runtime/JavaThread;
astore 6 /* t */
StackMap locals:
StackMap stack:
84: aload 6 /* t */
ifnonnull 75
end local 6 // sun.jvm.hotspot.runtime.JavaThread t
85: .line 147
StackMap locals:
StackMap stack:
aload 1 /* loc */
areturn
end local 5 // sun.jvm.hotspot.runtime.JNIHandleBlock handleBlock
end local 4 // sun.jvm.hotspot.runtime.JNIHandles handles
end local 3 // sun.jvm.hotspot.interpreter.Interpreter interp
end local 2 // sun.jvm.hotspot.gc.shared.CollectedHeap heap
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 86 0 a Lsun/jvm/hotspot/debugger/Address;
1 86 1 loc Lsun/jvm/hotspot/utilities/PointerLocation;
2 86 2 heap Lsun/jvm/hotspot/gc/shared/CollectedHeap;
4 29 3 genheap Lsun/jvm/hotspot/gc/shared/GenCollectedHeap;
6 13 4 i I
8 11 5 g Lsun/jvm/hotspot/gc/shared/Generation;
19 28 4 t Lsun/jvm/hotspot/runtime/JavaThread;
21 26 5 tlab Lsun/jvm/hotspot/runtime/ThreadLocalAllocBuffer;
33 86 3 interp Lsun/jvm/hotspot/interpreter/Interpreter;
39 58 4 c Lsun/jvm/hotspot/code/CodeCache;
50 51 5 nm Lsun/jvm/hotspot/code/NMethod;
59 86 4 handles Lsun/jvm/hotspot/runtime/JNIHandles;
60 86 5 handleBlock Lsun/jvm/hotspot/runtime/JNIHandleBlock;
74 85 6 t Lsun/jvm/hotspot/runtime/JavaThread;
MethodParameters:
Name Flags
a
}
SourceFile: "PointerFinder.java"