public class sun.jvm.hotspot.tools.JMap 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.JMap
super_class: sun.jvm.hotspot.tools.Tool
{
public static final int MODE_HEAP_SUMMARY;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 0
public static final int MODE_HISTOGRAM;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1
public static final int MODE_CLSTATS;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 2
public static final int MODE_PMAP;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 3
public static final int MODE_HEAP_GRAPH_HPROF_BIN;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 4
public static final int MODE_HEAP_GRAPH_GXL;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 5
public static final int MODE_FINALIZERINFO;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 6
private static java.lang.String dumpfile;
descriptor: Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private int mode;
descriptor: I
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc "heap.bin"
putstatic sun.jvm.hotspot.tools.JMap.dumpfile:Ljava/lang/String;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial sun.jvm.hotspot.tools.Tool.<init>:()V
1: aload 0
iload 1
putfield sun.jvm.hotspot.tools.JMap.mode:I
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/jvm/hotspot/tools/JMap;
0 3 1 m I
MethodParameters:
Name Flags
m
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_3
invokespecial sun.jvm.hotspot.tools.JMap.<init>:(I)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/jvm/hotspot/tools/JMap;
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: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/jvm/hotspot/tools/JMap;
0 2 1 d Lsun/jvm/hotspot/debugger/JVMDebugger;
MethodParameters:
Name Flags
d
protected boolean needsJavaPrefix();
descriptor: ()Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/tools/JMap;
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 "jmap"
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/tools/JMap;
protected java.lang.String getCommandFlags();
descriptor: ()Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc "-heap|-heap:format=b|-histo|-clstats|-finalizerinfo"
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/tools/JMap;
protected void printFlagsUsage();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc " <no option>\tto print same info as Solaris pmap"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
1: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc " -heap\tto print java heap summary"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
2: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc " -heap:format=b\tto dump java heap in hprof binary format"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
3: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc " -histo\tto print histogram of java object heap"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
4: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc " -clstats\tto print class loader statistics"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
5: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc " -finalizerinfo\tto print information on objects awaiting finalization"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
6: aload 0
invokespecial sun.jvm.hotspot.tools.Tool.printFlagsUsage:()V
7: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/jvm/hotspot/tools/JMap;
public void run();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: aload 0
getfield sun.jvm.hotspot.tools.JMap.mode:I
tableswitch { // 0 - 6
0: 2
1: 4
2: 6
3: 8
4: 10
5: 12
6: 14
default: 16
}
2: StackMap locals: sun.jvm.hotspot.tools.Tool
StackMap stack:
new sun.jvm.hotspot.tools.HeapSummary
dup
invokespecial sun.jvm.hotspot.tools.HeapSummary.<init>:()V
astore 1
3: goto 17
4: StackMap locals:
StackMap stack:
new sun.jvm.hotspot.tools.ObjectHistogram
dup
invokespecial sun.jvm.hotspot.tools.ObjectHistogram.<init>:()V
astore 1
5: goto 17
6: StackMap locals:
StackMap stack:
new sun.jvm.hotspot.tools.ClassLoaderStats
dup
invokespecial sun.jvm.hotspot.tools.ClassLoaderStats.<init>:()V
astore 1
7: goto 17
8: StackMap locals:
StackMap stack:
new sun.jvm.hotspot.tools.PMap
dup
invokespecial sun.jvm.hotspot.tools.PMap.<init>:()V
astore 1
9: goto 17
10: StackMap locals:
StackMap stack:
aload 0
getstatic sun.jvm.hotspot.tools.JMap.dumpfile:Ljava/lang/String;
invokevirtual sun.jvm.hotspot.tools.JMap.writeHeapHprofBin:(Ljava/lang/String;)Z
pop
11: return
12: StackMap locals:
StackMap stack:
aload 0
getstatic sun.jvm.hotspot.tools.JMap.dumpfile:Ljava/lang/String;
invokevirtual sun.jvm.hotspot.tools.JMap.writeHeapGXL:(Ljava/lang/String;)Z
pop
13: return
14: StackMap locals:
StackMap stack:
new sun.jvm.hotspot.tools.FinalizerInfo
dup
invokespecial sun.jvm.hotspot.tools.FinalizerInfo.<init>:()V
astore 1
15: goto 17
16: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.jvm.hotspot.tools.JMap.usage:()V
17: StackMap locals:
StackMap stack:
aload 1
aload 0
invokevirtual sun.jvm.hotspot.tools.JMap.getAgent:()Lsun/jvm/hotspot/HotSpotAgent;
invokevirtual sun.jvm.hotspot.tools.Tool.setAgent:(Lsun/jvm/hotspot/HotSpotAgent;)V
18: aload 1
aload 0
invokevirtual sun.jvm.hotspot.tools.JMap.getDebugeeType:()I
invokevirtual sun.jvm.hotspot.tools.Tool.setDebugeeType:(I)V
19: aload 1
invokevirtual sun.jvm.hotspot.tools.Tool.run:()V
20: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lsun/jvm/hotspot/tools/JMap;
1 21 1 tool Lsun/jvm/hotspot/tools/Tool;
public static void main(java.lang.String[]);
descriptor: ([Ljava/lang/String;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=11, args_size=1
start local 0 0: iconst_3
istore 1
start local 1 1: aload 0
arraylength
iconst_1
if_icmple 52
2: aload 0
iconst_0
aaload
astore 2
start local 2 3: iconst_1
istore 3
start local 3 4: aload 2
ldc "-heap"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 7
5: iconst_0
istore 1
6: goto 44
StackMap locals: int java.lang.String int
StackMap stack:
7: aload 2
ldc "-histo"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 10
8: iconst_1
istore 1
9: goto 44
StackMap locals:
StackMap stack:
10: aload 2
ldc "-clstats"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 13
11: iconst_2
istore 1
12: goto 44
StackMap locals:
StackMap stack:
13: aload 2
ldc "-finalizerinfo"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 16
14: bipush 6
istore 1
15: goto 44
16: StackMap locals:
StackMap stack:
aload 2
ldc "-heap:"
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
istore 4
start local 4 17: iload 4
iconst_m1
if_icmpeq 43
18: aload 2
bipush 6
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
ldc ","
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
astore 5
start local 5 19: aload 5
dup
astore 9
arraylength
istore 8
iconst_0
istore 7
goto 41
StackMap locals: java.lang.String[] int java.lang.String int int java.lang.String[] top int int java.lang.String[]
StackMap stack:
20: aload 9
iload 7
aaload
astore 6
start local 6 21: aload 6
ldc "="
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
astore 10
start local 10 22: aload 10
iconst_0
aaload
ldc "format"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 32
23: aload 10
iconst_1
aaload
ldc "b"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 26
24: iconst_4
istore 1
25: goto 40
StackMap locals: java.lang.String[] int java.lang.String int int java.lang.String[] java.lang.String int int java.lang.String[] java.lang.String[]
StackMap stack:
26: aload 10
iconst_1
aaload
ldc "x"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 29
27: iconst_5
istore 1
28: goto 40
29: StackMap locals:
StackMap stack:
getstatic java.lang.System.err:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "unknown heap format:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 10
iconst_0
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
30: iconst_1
invokestatic java.lang.System.exit:(I)V
31: goto 40
StackMap locals:
StackMap stack:
32: aload 10
iconst_0
aaload
ldc "file"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 38
33: aload 10
iconst_1
aaload
ifnull 34
aload 10
iconst_1
aaload
ldc ""
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 36
34: StackMap locals:
StackMap stack:
getstatic java.lang.System.err:Ljava/io/PrintStream;
ldc "File name must be set."
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
35: iconst_1
invokestatic java.lang.System.exit:(I)V
36: StackMap locals:
StackMap stack:
aload 10
iconst_1
aaload
putstatic sun.jvm.hotspot.tools.JMap.dumpfile:Ljava/lang/String;
37: goto 40
38: StackMap locals:
StackMap stack:
getstatic java.lang.System.err:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "unknown option:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 10
iconst_0
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
39: iconst_1
invokestatic java.lang.System.exit:(I)V
end local 10 end local 6 40: StackMap locals: java.lang.String[] int java.lang.String int int java.lang.String[] top int int java.lang.String[]
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
41: iload 7
iload 8
if_icmplt 20
end local 5 42: goto 44
43: StackMap locals: java.lang.String[] int java.lang.String int int
StackMap stack:
iconst_0
istore 3
end local 4 44: StackMap locals:
StackMap stack:
iload 3
ifeq 52
45: aload 0
arraylength
iconst_1
isub
anewarray java.lang.String
astore 4
start local 4 46: iconst_0
istore 5
start local 5 47: goto 50
48: StackMap locals: java.lang.String[] int
StackMap stack:
aload 4
iload 5
aload 0
iload 5
iconst_1
iadd
aaload
aastore
49: iinc 5 1
StackMap locals:
StackMap stack:
50: iload 5
aload 4
arraylength
if_icmplt 48
end local 5 51: aload 4
astore 0
end local 4 end local 3 end local 2 52: StackMap locals: java.lang.String[] int
StackMap stack:
new sun.jvm.hotspot.tools.JMap
dup
iload 1
invokespecial sun.jvm.hotspot.tools.JMap.<init>:(I)V
astore 2
start local 2 53: aload 2
aload 0
invokevirtual sun.jvm.hotspot.tools.JMap.execute:([Ljava/lang/String;)V
54: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 55 0 args [Ljava/lang/String;
1 55 1 mode I
3 52 2 modeFlag Ljava/lang/String;
4 52 3 copyArgs Z
17 44 4 index I
19 42 5 options [Ljava/lang/String;
21 40 6 option Ljava/lang/String;
22 40 10 keyValue [Ljava/lang/String;
46 52 4 newArgs [Ljava/lang/String;
47 51 5 i I
53 55 2 jmap Lsun/jvm/hotspot/tools/JMap;
MethodParameters:
Name Flags
args
public boolean writeHeapHprofBin(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: new sun.jvm.hotspot.utilities.HeapHprofBinWriter
dup
invokespecial sun.jvm.hotspot.utilities.HeapHprofBinWriter.<init>:()V
astore 2
start local 2 1: aload 2
aload 1
invokeinterface sun.jvm.hotspot.utilities.HeapGraphWriter.write:(Ljava/lang/String;)V
2: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "heap written to "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
3: iconst_1
ireturn
end local 2 4: StackMap locals:
StackMap stack: java.io.IOException
astore 2
start local 2 5: new java.lang.RuntimeException
dup
aload 2
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/jvm/hotspot/tools/JMap;
0 6 1 fileName Ljava/lang/String;
1 4 2 hgw Lsun/jvm/hotspot/utilities/HeapGraphWriter;
5 6 2 exp Ljava/io/IOException;
Exception table:
from to target type
0 3 4 Class java.io.IOException
MethodParameters:
Name Flags
fileName
public boolean writeHeapHprofBin();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ldc "heap.bin"
invokevirtual sun.jvm.hotspot.tools.JMap.writeHeapHprofBin:(Ljava/lang/String;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/tools/JMap;
private boolean writeHeapGXL(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: new sun.jvm.hotspot.utilities.HeapGXLWriter
dup
invokespecial sun.jvm.hotspot.utilities.HeapGXLWriter.<init>:()V
astore 2
start local 2 1: aload 2
aload 1
invokeinterface sun.jvm.hotspot.utilities.HeapGraphWriter.write:(Ljava/lang/String;)V
2: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "heap written to "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
3: iconst_1
ireturn
end local 2 4: StackMap locals:
StackMap stack: java.io.IOException
astore 2
start local 2 5: new java.lang.RuntimeException
dup
aload 2
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/jvm/hotspot/tools/JMap;
0 6 1 fileName Ljava/lang/String;
1 4 2 hgw Lsun/jvm/hotspot/utilities/HeapGraphWriter;
5 6 2 exp Ljava/io/IOException;
Exception table:
from to target type
0 3 4 Class java.io.IOException
MethodParameters:
Name Flags
fileName
public boolean writeHeapGXL();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ldc "heap.xml"
invokevirtual sun.jvm.hotspot.tools.JMap.writeHeapGXL:(Ljava/lang/String;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/tools/JMap;
}
SourceFile: "JMap.java"