public class sun.jvm.hotspot.tools.ClassLoaderStats extends sun.jvm.hotspot.tools.Tool
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.jvm.hotspot.tools.ClassLoaderStats
super_class: sun.jvm.hotspot.tools.Tool
{
boolean verbose;
descriptor: Z
flags: (0x0000)
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial sun.jvm.hotspot.tools.Tool.<init>:()V
1: aload 0
iconst_1
putfield sun.jvm.hotspot.tools.ClassLoaderStats.verbose:Z
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/jvm/hotspot/tools/ClassLoaderStats;
public void <init>(sun.jvm.hotspot.debugger.JVMDebugger);
descriptor: (Lsun/jvm/hotspot/debugger/JVMDebugger;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial sun.jvm.hotspot.tools.Tool.<init>:(Lsun/jvm/hotspot/debugger/JVMDebugger;)V
1: aload 0
iconst_1
putfield sun.jvm.hotspot.tools.ClassLoaderStats.verbose:Z
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/jvm/hotspot/tools/ClassLoaderStats;
0 3 1 d Lsun/jvm/hotspot/debugger/JVMDebugger;
MethodParameters:
Name Flags
d
public java.lang.String getName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc "classLoaderStats"
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/tools/ClassLoaderStats;
public static void main(java.lang.String[]);
descriptor: ([Ljava/lang/String;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: new sun.jvm.hotspot.tools.ClassLoaderStats
dup
invokespecial sun.jvm.hotspot.tools.ClassLoaderStats.<init>:()V
astore 1
start local 1 1: aload 1
aload 0
invokevirtual sun.jvm.hotspot.tools.ClassLoaderStats.execute:([Ljava/lang/String;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 args [Ljava/lang/String;
1 3 1 cls Lsun/jvm/hotspot/tools/ClassLoaderStats;
MethodParameters:
Name Flags
args
public void run();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual sun.jvm.hotspot.tools.ClassLoaderStats.printClassLoaderStatistics:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/jvm/hotspot/tools/ClassLoaderStats;
private void printClassLoaderStatistics();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=28, args_size=1
start local 0 0: getstatic java.lang.System.out:Ljava/io/PrintStream;
astore 1
start local 1 1: getstatic java.lang.System.err:Ljava/io/PrintStream;
astore 2
start local 2 2: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 3
start local 3 3: new sun.jvm.hotspot.tools.ClassLoaderStats$LoaderData
dup
invokespecial sun.jvm.hotspot.tools.ClassLoaderStats$LoaderData.<init>:()V
astore 4
start local 4 4: aload 0
getfield sun.jvm.hotspot.tools.ClassLoaderStats.verbose:Z
ifeq 6
5: aload 2
ldc "finding class loader instances .."
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
6: StackMap locals: sun.jvm.hotspot.tools.ClassLoaderStats java.io.PrintStream java.io.PrintStream java.util.Map sun.jvm.hotspot.tools.ClassLoaderStats$LoaderData
StackMap stack:
invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
astore 5
start local 5 7: aload 5
invokevirtual sun.jvm.hotspot.runtime.VM.getObjectHeap:()Lsun/jvm/hotspot/oops/ObjectHeap;
astore 6
start local 6 8: aload 5
invokevirtual sun.jvm.hotspot.runtime.VM.getSystemDictionary:()Lsun/jvm/hotspot/memory/SystemDictionary;
pop
invokestatic sun.jvm.hotspot.memory.SystemDictionary.getClassLoaderKlass:()Lsun/jvm/hotspot/oops/InstanceKlass;
astore 7
start local 7 9: aload 6
new sun.jvm.hotspot.tools.ClassLoaderStats$1
dup
aload 0
aload 3
invokespecial sun.jvm.hotspot.tools.ClassLoaderStats$1.<init>:(Lsun/jvm/hotspot/tools/ClassLoaderStats;Ljava/util/Map;)V
10: aload 7
11: invokevirtual sun.jvm.hotspot.oops.ObjectHeap.iterateObjectsOfKlass:(Lsun/jvm/hotspot/oops/HeapVisitor;Lsun/jvm/hotspot/oops/Klass;)V
12: goto 15
StackMap locals: sun.jvm.hotspot.tools.ClassLoaderStats java.io.PrintStream java.io.PrintStream java.util.Map sun.jvm.hotspot.tools.ClassLoaderStats$LoaderData sun.jvm.hotspot.runtime.VM sun.jvm.hotspot.oops.ObjectHeap sun.jvm.hotspot.oops.Klass
StackMap stack: java.lang.Exception
13: astore 8
start local 8 14: aload 8
invokevirtual java.lang.Exception.printStackTrace:()V
end local 8 15: StackMap locals:
StackMap stack:
aload 0
getfield sun.jvm.hotspot.tools.ClassLoaderStats.verbose:Z
ifeq 18
16: aload 2
ldc "done."
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
17: aload 2
ldc "computing per loader stat .."
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
18: StackMap locals:
StackMap stack:
invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
invokevirtual sun.jvm.hotspot.runtime.VM.getClassLoaderDataGraph:()Lsun/jvm/hotspot/classfile/ClassLoaderDataGraph;
astore 8
start local 8 19: aload 8
new sun.jvm.hotspot.tools.ClassLoaderStats$2
dup
aload 0
aload 3
aload 4
invokespecial sun.jvm.hotspot.tools.ClassLoaderStats$2.<init>:(Lsun/jvm/hotspot/tools/ClassLoaderStats;Ljava/util/Map;Lsun/jvm/hotspot/tools/ClassLoaderStats$LoaderData;)V
invokevirtual sun.jvm.hotspot.classfile.ClassLoaderDataGraph.classesDo:(Lsun/jvm/hotspot/classfile/ClassLoaderDataGraph$ClassVisitor;)V
20: aload 0
getfield sun.jvm.hotspot.tools.ClassLoaderStats.verbose:Z
ifeq 23
21: aload 2
ldc "done."
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
22: aload 2
ldc "please wait.. computing liveness"
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
23: StackMap locals: sun.jvm.hotspot.classfile.ClassLoaderDataGraph
StackMap stack:
new sun.jvm.hotspot.utilities.ReversePtrsAnalysis
dup
invokespecial sun.jvm.hotspot.utilities.ReversePtrsAnalysis.<init>:()V
astore 9
start local 9 24: aload 0
getfield sun.jvm.hotspot.tools.ClassLoaderStats.verbose:Z
ifeq 26
25: aload 9
new sun.jvm.hotspot.tools.ClassLoaderStats$3
dup
aload 0
aload 2
invokespecial sun.jvm.hotspot.tools.ClassLoaderStats$3.<init>:(Lsun/jvm/hotspot/tools/ClassLoaderStats;Ljava/io/PrintStream;)V
invokevirtual sun.jvm.hotspot.utilities.ReversePtrsAnalysis.setHeapProgressThunk:(Lsun/jvm/hotspot/utilities/HeapProgressThunk;)V
26: StackMap locals: sun.jvm.hotspot.utilities.ReversePtrsAnalysis
StackMap stack:
aload 9
invokevirtual sun.jvm.hotspot.utilities.ReversePtrsAnalysis.run:()V
27: goto 31
StackMap locals:
StackMap stack: java.lang.Exception
28: pop
29: aload 0
getfield sun.jvm.hotspot.tools.ClassLoaderStats.verbose:Z
ifeq 31
30: aload 2
ldc "liveness analysis may be inaccurate ..."
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
31: StackMap locals:
StackMap stack:
invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
invokevirtual sun.jvm.hotspot.runtime.VM.getRevPtrs:()Lsun/jvm/hotspot/utilities/ReversePtrs;
astore 10
start local 10 32: aload 1
ldc "class_loader\tclasses\tbytes\tparent_loader\talive?\ttype"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
33: aload 1
invokevirtual java.io.PrintStream.println:()V
34: lconst_1
lstore 11
start local 11 35: aload 4
getfield sun.jvm.hotspot.tools.ClassLoaderStats$LoaderData.numClasses:J
lstore 13
start local 13 36: aload 4
getfield sun.jvm.hotspot.tools.ClassLoaderStats$LoaderData.classSize:J
lstore 15
start local 15 37: lconst_1
lstore 17
start local 17 38: lconst_0
lstore 19
start local 19 39: aload 1
ldc "<bootstrap>"
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
40: aload 1
bipush 9
invokevirtual java.io.PrintStream.print:(C)V
41: aload 1
aload 4
getfield sun.jvm.hotspot.tools.ClassLoaderStats$LoaderData.numClasses:J
invokevirtual java.io.PrintStream.print:(J)V
42: aload 1
bipush 9
invokevirtual java.io.PrintStream.print:(C)V
43: aload 1
aload 4
getfield sun.jvm.hotspot.tools.ClassLoaderStats$LoaderData.classSize:J
invokevirtual java.io.PrintStream.print:(J)V
44: aload 1
bipush 9
invokevirtual java.io.PrintStream.print:(C)V
45: aload 1
ldc " null "
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
46: aload 1
bipush 9
invokevirtual java.io.PrintStream.print:(C)V
47: aload 1
ldc "live"
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
48: aload 1
bipush 9
invokevirtual java.io.PrintStream.print:(C)V
49: aload 1
ldc "<internal>"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
50: aload 3
invokeinterface java.util.Map.keySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 21
start local 21 51: goto 88
52: StackMap locals: sun.jvm.hotspot.tools.ClassLoaderStats java.io.PrintStream java.io.PrintStream java.util.Map sun.jvm.hotspot.tools.ClassLoaderStats$LoaderData sun.jvm.hotspot.runtime.VM sun.jvm.hotspot.oops.ObjectHeap sun.jvm.hotspot.oops.Klass sun.jvm.hotspot.classfile.ClassLoaderDataGraph sun.jvm.hotspot.utilities.ReversePtrsAnalysis sun.jvm.hotspot.utilities.ReversePtrs long long long long long java.util.Iterator
StackMap stack:
aload 21
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.jvm.hotspot.oops.Oop
astore 22
start local 22 53: aload 3
aload 22
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.jvm.hotspot.tools.ClassLoaderStats$LoaderData
astore 23
start local 23 54: lload 11
lconst_1
ladd
lstore 11
55: lload 13
aload 23
getfield sun.jvm.hotspot.tools.ClassLoaderStats$LoaderData.numClasses:J
ladd
lstore 13
56: lload 15
aload 23
getfield sun.jvm.hotspot.tools.ClassLoaderStats$LoaderData.classSize:J
ladd
lstore 15
57: aload 1
aload 22
invokevirtual sun.jvm.hotspot.oops.Oop.getHandle:()Lsun/jvm/hotspot/debugger/OopHandle;
invokevirtual java.io.PrintStream.print:(Ljava/lang/Object;)V
58: aload 1
bipush 9
invokevirtual java.io.PrintStream.print:(C)V
59: aload 1
aload 23
getfield sun.jvm.hotspot.tools.ClassLoaderStats$LoaderData.numClasses:J
invokevirtual java.io.PrintStream.print:(J)V
60: aload 1
bipush 9
invokevirtual java.io.PrintStream.print:(C)V
61: aload 1
aload 23
getfield sun.jvm.hotspot.tools.ClassLoaderStats$LoaderData.classSize:J
invokevirtual java.io.PrintStream.print:(J)V
62: aload 1
bipush 9
invokevirtual java.io.PrintStream.print:(C)V
63: new sun.jvm.hotspot.tools.ClassLoaderStats$1ParentFinder
dup
aload 0
invokespecial sun.jvm.hotspot.tools.ClassLoaderStats$1ParentFinder.<init>:(Lsun/jvm/hotspot/tools/ClassLoaderStats;)V
astore 24
start local 24 64: aload 22
aload 24
iconst_0
invokevirtual sun.jvm.hotspot.oops.Oop.iterate:(Lsun/jvm/hotspot/oops/OopVisitor;Z)V
65: aload 24
invokevirtual sun.jvm.hotspot.tools.ClassLoaderStats$1ParentFinder.getParent:()Lsun/jvm/hotspot/oops/Oop;
astore 25
start local 25 66: aload 1
aload 25
ifnull 67
aload 25
invokevirtual sun.jvm.hotspot.oops.Oop.getHandle:()Lsun/jvm/hotspot/debugger/OopHandle;
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
goto 68
StackMap locals: sun.jvm.hotspot.tools.ClassLoaderStats java.io.PrintStream java.io.PrintStream java.util.Map sun.jvm.hotspot.tools.ClassLoaderStats$LoaderData sun.jvm.hotspot.runtime.VM sun.jvm.hotspot.oops.ObjectHeap sun.jvm.hotspot.oops.Klass sun.jvm.hotspot.classfile.ClassLoaderDataGraph sun.jvm.hotspot.utilities.ReversePtrsAnalysis sun.jvm.hotspot.utilities.ReversePtrs long long long long long java.util.Iterator sun.jvm.hotspot.oops.Oop sun.jvm.hotspot.tools.ClassLoaderStats$LoaderData sun.jvm.hotspot.tools.ClassLoaderStats$1ParentFinder sun.jvm.hotspot.oops.Oop
StackMap stack: java.io.PrintStream
67: ldc " null "
StackMap locals: sun.jvm.hotspot.tools.ClassLoaderStats java.io.PrintStream java.io.PrintStream java.util.Map sun.jvm.hotspot.tools.ClassLoaderStats$LoaderData sun.jvm.hotspot.runtime.VM sun.jvm.hotspot.oops.ObjectHeap sun.jvm.hotspot.oops.Klass sun.jvm.hotspot.classfile.ClassLoaderDataGraph sun.jvm.hotspot.utilities.ReversePtrsAnalysis sun.jvm.hotspot.utilities.ReversePtrs long long long long long java.util.Iterator sun.jvm.hotspot.oops.Oop sun.jvm.hotspot.tools.ClassLoaderStats$LoaderData sun.jvm.hotspot.tools.ClassLoaderStats$1ParentFinder sun.jvm.hotspot.oops.Oop
StackMap stack: java.io.PrintStream java.lang.String
68: invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
69: aload 1
bipush 9
invokevirtual java.io.PrintStream.print:(C)V
70: aload 10
ifnull 72
aload 10
aload 22
invokevirtual sun.jvm.hotspot.utilities.ReversePtrs.get:(Lsun/jvm/hotspot/oops/Oop;)Ljava/util/ArrayList;
ifnull 71
iconst_1
goto 73
StackMap locals:
StackMap stack:
71: iconst_0
goto 73
StackMap locals:
StackMap stack:
72: iconst_1
StackMap locals:
StackMap stack: int
73: istore 26
start local 26 74: aload 1
iload 26
ifeq 75
ldc "live"
goto 76
StackMap locals: sun.jvm.hotspot.tools.ClassLoaderStats java.io.PrintStream java.io.PrintStream java.util.Map sun.jvm.hotspot.tools.ClassLoaderStats$LoaderData sun.jvm.hotspot.runtime.VM sun.jvm.hotspot.oops.ObjectHeap sun.jvm.hotspot.oops.Klass sun.jvm.hotspot.classfile.ClassLoaderDataGraph sun.jvm.hotspot.utilities.ReversePtrsAnalysis sun.jvm.hotspot.utilities.ReversePtrs long long long long long java.util.Iterator sun.jvm.hotspot.oops.Oop sun.jvm.hotspot.tools.ClassLoaderStats$LoaderData sun.jvm.hotspot.tools.ClassLoaderStats$1ParentFinder sun.jvm.hotspot.oops.Oop int
StackMap stack: java.io.PrintStream
75: ldc "dead"
StackMap locals: sun.jvm.hotspot.tools.ClassLoaderStats java.io.PrintStream java.io.PrintStream java.util.Map sun.jvm.hotspot.tools.ClassLoaderStats$LoaderData sun.jvm.hotspot.runtime.VM sun.jvm.hotspot.oops.ObjectHeap sun.jvm.hotspot.oops.Klass sun.jvm.hotspot.classfile.ClassLoaderDataGraph sun.jvm.hotspot.utilities.ReversePtrsAnalysis sun.jvm.hotspot.utilities.ReversePtrs long long long long long java.util.Iterator sun.jvm.hotspot.oops.Oop sun.jvm.hotspot.tools.ClassLoaderStats$LoaderData sun.jvm.hotspot.tools.ClassLoaderStats$1ParentFinder sun.jvm.hotspot.oops.Oop int
StackMap stack: java.io.PrintStream java.lang.String
76: invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
77: iload 26
ifeq 78
lload 17
lconst_1
ladd
lstore 17
goto 79
StackMap locals:
StackMap stack:
78: lload 19
lconst_1
ladd
lstore 19
79: StackMap locals:
StackMap stack:
aload 1
bipush 9
invokevirtual java.io.PrintStream.print:(C)V
80: aload 22
invokevirtual sun.jvm.hotspot.oops.Oop.getKlass:()Lsun/jvm/hotspot/oops/Klass;
astore 27
start local 27 81: aload 27
ifnull 86
82: aload 1
aload 27
invokevirtual sun.jvm.hotspot.oops.Klass.getName:()Lsun/jvm/hotspot/oops/Symbol;
invokevirtual sun.jvm.hotspot.oops.Symbol.asString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
83: aload 1
bipush 64
invokevirtual java.io.PrintStream.print:(C)V
84: aload 1
aload 22
invokevirtual sun.jvm.hotspot.oops.Oop.getKlass:()Lsun/jvm/hotspot/oops/Klass;
invokevirtual sun.jvm.hotspot.oops.Klass.getAddress:()Lsun/jvm/hotspot/debugger/Address;
invokevirtual java.io.PrintStream.print:(Ljava/lang/Object;)V
85: goto 87
86: StackMap locals: sun.jvm.hotspot.oops.Klass
StackMap stack:
aload 1
ldc " null! "
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
87: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.io.PrintStream.println:()V
end local 27 end local 26 end local 25 end local 24 end local 23 end local 22 88: StackMap locals: sun.jvm.hotspot.tools.ClassLoaderStats java.io.PrintStream java.io.PrintStream java.util.Map sun.jvm.hotspot.tools.ClassLoaderStats$LoaderData sun.jvm.hotspot.runtime.VM sun.jvm.hotspot.oops.ObjectHeap sun.jvm.hotspot.oops.Klass sun.jvm.hotspot.classfile.ClassLoaderDataGraph sun.jvm.hotspot.utilities.ReversePtrsAnalysis sun.jvm.hotspot.utilities.ReversePtrs long long long long long java.util.Iterator
StackMap stack:
aload 21
invokeinterface java.util.Iterator.hasNext:()Z
ifne 52
end local 21 89: aload 1
invokevirtual java.io.PrintStream.println:()V
90: aload 1
ldc "total = "
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
91: aload 1
lload 11
invokevirtual java.io.PrintStream.print:(J)V
92: aload 1
bipush 9
invokevirtual java.io.PrintStream.print:(C)V
93: aload 1
lload 13
invokevirtual java.io.PrintStream.print:(J)V
94: aload 1
bipush 9
invokevirtual java.io.PrintStream.print:(C)V
95: aload 1
lload 15
invokevirtual java.io.PrintStream.print:(J)V
96: aload 1
bipush 9
invokevirtual java.io.PrintStream.print:(C)V
97: aload 1
ldc " N/A "
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
98: aload 1
bipush 9
invokevirtual java.io.PrintStream.print:(C)V
99: aload 1
ldc "alive="
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
100: aload 1
lload 17
invokevirtual java.io.PrintStream.print:(J)V
101: aload 1
ldc ", dead="
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
102: aload 1
lload 19
invokevirtual java.io.PrintStream.print:(J)V
103: aload 1
bipush 9
invokevirtual java.io.PrintStream.print:(C)V
104: aload 1
ldc " N/A "
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
105: aload 1
invokevirtual java.io.PrintStream.println:()V
106: return
end local 19 end local 17 end local 15 end local 13 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 107 0 this Lsun/jvm/hotspot/tools/ClassLoaderStats;
1 107 1 out Ljava/io/PrintStream;
2 107 2 err Ljava/io/PrintStream;
3 107 3 loaderMap Ljava/util/Map<Lsun/jvm/hotspot/oops/Oop;Lsun/jvm/hotspot/tools/ClassLoaderStats$LoaderData;>;
4 107 4 bootstrapLoaderData Lsun/jvm/hotspot/tools/ClassLoaderStats$LoaderData;
7 107 5 vm Lsun/jvm/hotspot/runtime/VM;
8 107 6 heap Lsun/jvm/hotspot/oops/ObjectHeap;
9 107 7 classLoaderKlass Lsun/jvm/hotspot/oops/Klass;
14 15 8 se Ljava/lang/Exception;
19 107 8 cldg Lsun/jvm/hotspot/classfile/ClassLoaderDataGraph;
24 107 9 analysis Lsun/jvm/hotspot/utilities/ReversePtrsAnalysis;
32 107 10 liveness Lsun/jvm/hotspot/utilities/ReversePtrs;
35 107 11 numClassLoaders J
36 107 13 totalNumClasses J
37 107 15 totalClassSize J
38 107 17 numAliveLoaders J
39 107 19 numDeadLoaders J
51 89 21 keyItr Ljava/util/Iterator;
53 88 22 loader Lsun/jvm/hotspot/oops/Oop;
54 88 23 data Lsun/jvm/hotspot/tools/ClassLoaderStats$LoaderData;
64 88 24 parentFinder Lsun/jvm/hotspot/tools/ClassLoaderStats$1ParentFinder;
66 88 25 parent Lsun/jvm/hotspot/oops/Oop;
74 88 26 alive Z
81 88 27 loaderKlass Lsun/jvm/hotspot/oops/Klass;
Exception table:
from to target type
9 12 13 Class java.lang.Exception
26 27 28 Class java.lang.Exception
private static long objectSize(sun.jvm.hotspot.oops.Oop);
descriptor: (Lsun/jvm/hotspot/oops/Oop;)J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ifnonnull 1
lconst_0
goto 2
StackMap locals:
StackMap stack:
1: aload 0
invokevirtual sun.jvm.hotspot.oops.Oop.getObjectSize:()J
StackMap locals:
StackMap stack: long
2: lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 oop Lsun/jvm/hotspot/oops/Oop;
MethodParameters:
Name Flags
oop
private static long arraySize(sun.jvm.hotspot.utilities.GenericArray);
descriptor: (Lsun/jvm/hotspot/utilities/GenericArray;)J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual sun.jvm.hotspot.utilities.GenericArray.getLength:()I
i2l
lconst_0
lcmp
ifeq 1
aload 0
invokevirtual sun.jvm.hotspot.utilities.GenericArray.getSize:()J
goto 2
StackMap locals:
StackMap stack:
1: lconst_0
StackMap locals:
StackMap stack: long
2: lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 arr Lsun/jvm/hotspot/utilities/GenericArray;
MethodParameters:
Name Flags
arr
private long computeSize(sun.jvm.hotspot.oops.InstanceKlass);
descriptor: (Lsun/jvm/hotspot/oops/InstanceKlass;)J
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=9, args_size=2
start local 0 start local 1 0: lconst_0
lstore 2
start local 2 1: lload 2
aload 1
invokevirtual sun.jvm.hotspot.oops.InstanceKlass.getSize:()J
ladd
lstore 2
2: aload 1
invokevirtual sun.jvm.hotspot.oops.InstanceKlass.getConstants:()Lsun/jvm/hotspot/oops/ConstantPool;
astore 4
start local 4 3: lload 2
aload 4
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getSize:()J
ladd
lstore 2
4: aload 4
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getCache:()Lsun/jvm/hotspot/oops/ConstantPoolCache;
ifnull 6
5: lload 2
aload 4
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getCache:()Lsun/jvm/hotspot/oops/ConstantPoolCache;
invokevirtual sun.jvm.hotspot.oops.ConstantPoolCache.getSize:()J
ladd
lstore 2
6: StackMap locals: long sun.jvm.hotspot.oops.ConstantPool
StackMap stack:
lload 2
aload 4
invokevirtual sun.jvm.hotspot.oops.ConstantPool.getTags:()Lsun/jvm/hotspot/utilities/U1Array;
invokestatic sun.jvm.hotspot.tools.ClassLoaderStats.arraySize:(Lsun/jvm/hotspot/utilities/GenericArray;)J
ladd
lstore 2
7: lload 2
aload 1
invokevirtual sun.jvm.hotspot.oops.InstanceKlass.getLocalInterfaces:()Lsun/jvm/hotspot/utilities/KlassArray;
invokestatic sun.jvm.hotspot.tools.ClassLoaderStats.arraySize:(Lsun/jvm/hotspot/utilities/GenericArray;)J
ladd
lstore 2
8: lload 2
aload 1
invokevirtual sun.jvm.hotspot.oops.InstanceKlass.getTransitiveInterfaces:()Lsun/jvm/hotspot/utilities/KlassArray;
invokestatic sun.jvm.hotspot.tools.ClassLoaderStats.arraySize:(Lsun/jvm/hotspot/utilities/GenericArray;)J
ladd
lstore 2
9: lload 2
aload 1
invokevirtual sun.jvm.hotspot.oops.InstanceKlass.getInnerClasses:()Lsun/jvm/hotspot/utilities/U2Array;
invokestatic sun.jvm.hotspot.tools.ClassLoaderStats.arraySize:(Lsun/jvm/hotspot/utilities/GenericArray;)J
ladd
lstore 2
10: lload 2
aload 1
invokevirtual sun.jvm.hotspot.oops.InstanceKlass.getFields:()Lsun/jvm/hotspot/utilities/U2Array;
invokestatic sun.jvm.hotspot.tools.ClassLoaderStats.arraySize:(Lsun/jvm/hotspot/utilities/GenericArray;)J
ladd
lstore 2
11: aload 1
invokevirtual sun.jvm.hotspot.oops.InstanceKlass.getMethods:()Lsun/jvm/hotspot/utilities/MethodArray;
astore 5
start local 5 12: aload 5
invokevirtual sun.jvm.hotspot.utilities.MethodArray.getLength:()I
istore 6
start local 6 13: iload 6
i2l
lconst_0
lcmp
ifeq 22
14: lload 2
aload 5
invokevirtual sun.jvm.hotspot.utilities.MethodArray.getSize:()J
ladd
lstore 2
15: iconst_0
istore 7
start local 7 16: goto 21
17: StackMap locals: sun.jvm.hotspot.utilities.MethodArray int int
StackMap stack:
aload 5
iload 7
invokevirtual sun.jvm.hotspot.utilities.MethodArray.at:(I)Lsun/jvm/hotspot/oops/Method;
astore 8
start local 8 18: lload 2
aload 8
invokevirtual sun.jvm.hotspot.oops.Method.getSize:()J
ladd
lstore 2
19: lload 2
aload 8
invokevirtual sun.jvm.hotspot.oops.Method.getConstMethod:()Lsun/jvm/hotspot/oops/ConstMethod;
invokevirtual sun.jvm.hotspot.oops.ConstMethod.getSize:()J
ladd
lstore 2
end local 8 20: iinc 7 1
StackMap locals:
StackMap stack:
21: iload 7
iload 6
if_icmplt 17
end local 7 22: StackMap locals:
StackMap stack:
lload 2
lreturn
end local 6 end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lsun/jvm/hotspot/tools/ClassLoaderStats;
0 23 1 k Lsun/jvm/hotspot/oops/InstanceKlass;
1 23 2 size J
3 23 4 cp Lsun/jvm/hotspot/oops/ConstantPool;
12 23 5 methods Lsun/jvm/hotspot/utilities/MethodArray;
13 23 6 nmethods I
16 22 7 i I
18 20 8 m Lsun/jvm/hotspot/oops/Method;
MethodParameters:
Name Flags
k
}
SourceFile: "ClassLoaderStats.java"
NestMembers:
sun.jvm.hotspot.tools.ClassLoaderStats$1 sun.jvm.hotspot.tools.ClassLoaderStats$1ParentFinder sun.jvm.hotspot.tools.ClassLoaderStats$2 sun.jvm.hotspot.tools.ClassLoaderStats$3 sun.jvm.hotspot.tools.ClassLoaderStats$ClassData sun.jvm.hotspot.tools.ClassLoaderStats$LoaderData
InnerClasses:
public abstract ClassVisitor = sun.jvm.hotspot.classfile.ClassLoaderDataGraph$ClassVisitor of sun.jvm.hotspot.classfile.ClassLoaderDataGraph
sun.jvm.hotspot.tools.ClassLoaderStats$1
ParentFinder = sun.jvm.hotspot.tools.ClassLoaderStats$1ParentFinder
sun.jvm.hotspot.tools.ClassLoaderStats$2
sun.jvm.hotspot.tools.ClassLoaderStats$3
private ClassData = sun.jvm.hotspot.tools.ClassLoaderStats$ClassData of sun.jvm.hotspot.tools.ClassLoaderStats
private LoaderData = sun.jvm.hotspot.tools.ClassLoaderStats$LoaderData of sun.jvm.hotspot.tools.ClassLoaderStats