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=8, 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 116
aload 4 /* handles */
invokevirtual sun.jvm.hotspot.runtime.JNIHandles.globalHandles:()Lsun/jvm/hotspot/gc/shared/OopStorage;
astore 5 /* storage */
start local 5 // sun.jvm.hotspot.gc.shared.OopStorage storage
60: .line 117
aload 5 /* storage */
ifnull 63
aload 5 /* storage */
aload 0 /* a */
invokevirtual sun.jvm.hotspot.gc.shared.OopStorage.findOop:(Lsun/jvm/hotspot/debugger/Address;)Z
ifeq 63
61: .line 118
aload 1 /* loc */
iconst_1
putfield sun.jvm.hotspot.utilities.PointerLocation.inStrongGlobalJNIHandles:Z
62: .line 119
aload 1 /* loc */
areturn
63: .line 122
StackMap locals: sun.jvm.hotspot.runtime.JNIHandles sun.jvm.hotspot.gc.shared.OopStorage
StackMap stack:
aload 4 /* handles */
invokevirtual sun.jvm.hotspot.runtime.JNIHandles.weakGlobalHandles:()Lsun/jvm/hotspot/gc/shared/OopStorage;
astore 5 /* storage */
64: .line 123
aload 5 /* storage */
ifnull 67
aload 5 /* storage */
aload 0 /* a */
invokevirtual sun.jvm.hotspot.gc.shared.OopStorage.findOop:(Lsun/jvm/hotspot/debugger/Address;)Z
ifeq 67
65: .line 124
aload 1 /* loc */
iconst_1
putfield sun.jvm.hotspot.utilities.PointerLocation.inWeakGlobalJNIHandles:Z
66: .line 125
aload 1 /* loc */
areturn
67: .line 128
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
68: goto 78
69: .line 129
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 7 /* handleBlock */
start local 7 // sun.jvm.hotspot.runtime.JNIHandleBlock handleBlock
70: .line 130
aload 7 /* handleBlock */
ifnull 77
71: .line 131
aload 7 /* handleBlock */
aload 0 /* a */
invokevirtual sun.jvm.hotspot.runtime.JNIHandleBlock.blockContainingHandle:(Lsun/jvm/hotspot/debugger/Address;)Lsun/jvm/hotspot/runtime/JNIHandleBlock;
astore 7 /* handleBlock */
72: .line 132
aload 7 /* handleBlock */
ifnull 77
73: .line 133
aload 1 /* loc */
iconst_1
putfield sun.jvm.hotspot.utilities.PointerLocation.inLocalJNIHandleBlock:Z
74: .line 134
aload 1 /* loc */
aload 7 /* handleBlock */
putfield sun.jvm.hotspot.utilities.PointerLocation.handleBlock:Lsun/jvm/hotspot/runtime/JNIHandleBlock;
75: .line 135
aload 1 /* loc */
aload 6 /* t */
putfield sun.jvm.hotspot.utilities.PointerLocation.handleThread:Lsun/jvm/hotspot/runtime/Thread;
76: .line 136
aload 1 /* loc */
areturn
end local 7 // sun.jvm.hotspot.runtime.JNIHandleBlock handleBlock
77: .line 128
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:
78: aload 6 /* t */
ifnonnull 69
end local 6 // sun.jvm.hotspot.runtime.JavaThread t
79: .line 142
aload 1 /* loc */
areturn
end local 5 // sun.jvm.hotspot.gc.shared.OopStorage storage
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 80 0 a Lsun/jvm/hotspot/debugger/Address;
1 80 1 loc Lsun/jvm/hotspot/utilities/PointerLocation;
2 80 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 80 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 80 4 handles Lsun/jvm/hotspot/runtime/JNIHandles;
60 80 5 storage Lsun/jvm/hotspot/gc/shared/OopStorage;
68 79 6 t Lsun/jvm/hotspot/runtime/JavaThread;
70 77 7 handleBlock Lsun/jvm/hotspot/runtime/JNIHandleBlock;
MethodParameters:
Name Flags
a
}
SourceFile: "PointerFinder.java"