public class com.sun.tools.hat.internal.server.HistogramQuery extends com.sun.tools.hat.internal.server.QueryHandler
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.sun.tools.hat.internal.server.HistogramQuery
super_class: com.sun.tools.hat.internal.server.QueryHandler
{
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // com.sun.tools.hat.internal.server.HistogramQuery this
0: .line 43
aload 0 /* this */
invokespecial com.sun.tools.hat.internal.server.QueryHandler.<init>:()V
return
end local 0 // com.sun.tools.hat.internal.server.HistogramQuery this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/hat/internal/server/HistogramQuery;
public void run();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=1
start local 0 // com.sun.tools.hat.internal.server.HistogramQuery this
0: .line 45
aload 0 /* this */
getfield com.sun.tools.hat.internal.server.HistogramQuery.snapshot:Lcom/sun/tools/hat/internal/model/Snapshot;
invokevirtual com.sun.tools.hat.internal.model.Snapshot.getClassesArray:()[Lcom/sun/tools/hat/internal/model/JavaClass;
astore 1 /* classes */
start local 1 // com.sun.tools.hat.internal.model.JavaClass[] classes
1: .line 47
aload 0 /* this */
getfield com.sun.tools.hat.internal.server.HistogramQuery.query:Ljava/lang/String;
ldc "count"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 4
2: .line 48
new com.sun.tools.hat.internal.server.HistogramQuery$1
dup
aload 0 /* this */
invokespecial com.sun.tools.hat.internal.server.HistogramQuery$1.<init>:(Lcom/sun/tools/hat/internal/server/HistogramQuery;)V
astore 2 /* comparator */
start local 2 // java.util.Comparator comparator
3: .line 55
goto 8
end local 2 // java.util.Comparator comparator
StackMap locals: com.sun.tools.hat.internal.model.JavaClass[]
StackMap stack:
4: aload 0 /* this */
getfield com.sun.tools.hat.internal.server.HistogramQuery.query:Ljava/lang/String;
ldc "class"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 7
5: .line 56
new com.sun.tools.hat.internal.server.HistogramQuery$2
dup
aload 0 /* this */
invokespecial com.sun.tools.hat.internal.server.HistogramQuery$2.<init>:(Lcom/sun/tools/hat/internal/server/HistogramQuery;)V
astore 2 /* comparator */
start local 2 // java.util.Comparator comparator
6: .line 61
goto 8
end local 2 // java.util.Comparator comparator
7: .line 63
StackMap locals:
StackMap stack:
new com.sun.tools.hat.internal.server.HistogramQuery$3
dup
aload 0 /* this */
invokespecial com.sun.tools.hat.internal.server.HistogramQuery$3.<init>:(Lcom/sun/tools/hat/internal/server/HistogramQuery;)V
astore 2 /* comparator */
start local 2 // java.util.Comparator comparator
8: .line 71
StackMap locals: java.util.Comparator
StackMap stack:
aload 1 /* classes */
aload 2 /* comparator */
invokestatic java.util.Arrays.sort:([Ljava/lang/Object;Ljava/util/Comparator;)V
9: .line 73
aload 0 /* this */
ldc "Heap Histogram"
invokevirtual com.sun.tools.hat.internal.server.HistogramQuery.startHtml:(Ljava/lang/String;)V
10: .line 75
aload 0 /* this */
getfield com.sun.tools.hat.internal.server.HistogramQuery.out:Ljava/io/PrintWriter;
ldc "<p align='center'>"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
11: .line 76
aload 0 /* this */
getfield com.sun.tools.hat.internal.server.HistogramQuery.out:Ljava/io/PrintWriter;
ldc "<b><a href='/'>All Classes (excluding platform)</a></b>"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
12: .line 77
aload 0 /* this */
getfield com.sun.tools.hat.internal.server.HistogramQuery.out:Ljava/io/PrintWriter;
ldc "</p>"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
13: .line 79
aload 0 /* this */
getfield com.sun.tools.hat.internal.server.HistogramQuery.out:Ljava/io/PrintWriter;
ldc "<table align=center border=1>"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
14: .line 80
aload 0 /* this */
getfield com.sun.tools.hat.internal.server.HistogramQuery.out:Ljava/io/PrintWriter;
ldc "<tr><th><a href='/histo/class'>Class</a></th>"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
15: .line 81
aload 0 /* this */
getfield com.sun.tools.hat.internal.server.HistogramQuery.out:Ljava/io/PrintWriter;
ldc "<th><a href='/histo/count'>Instance Count</a></th>"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
16: .line 82
aload 0 /* this */
getfield com.sun.tools.hat.internal.server.HistogramQuery.out:Ljava/io/PrintWriter;
ldc "<th><a href='/histo/size'>Total Size</a></th></tr>"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
17: .line 83
iconst_0
istore 3 /* i */
start local 3 // int i
18: goto 30
19: .line 84
StackMap locals: int
StackMap stack:
aload 1 /* classes */
iload 3 /* i */
aaload
astore 4 /* clazz */
start local 4 // com.sun.tools.hat.internal.model.JavaClass clazz
20: .line 85
aload 0 /* this */
getfield com.sun.tools.hat.internal.server.HistogramQuery.out:Ljava/io/PrintWriter;
ldc "<tr><td>"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
21: .line 86
aload 0 /* this */
aload 4 /* clazz */
invokevirtual com.sun.tools.hat.internal.server.HistogramQuery.printClass:(Lcom/sun/tools/hat/internal/model/JavaClass;)V
22: .line 87
aload 0 /* this */
getfield com.sun.tools.hat.internal.server.HistogramQuery.out:Ljava/io/PrintWriter;
ldc "</td>"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
23: .line 88
aload 0 /* this */
getfield com.sun.tools.hat.internal.server.HistogramQuery.out:Ljava/io/PrintWriter;
ldc "<td>"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
24: .line 89
aload 0 /* this */
getfield com.sun.tools.hat.internal.server.HistogramQuery.out:Ljava/io/PrintWriter;
aload 4 /* clazz */
iconst_0
invokevirtual com.sun.tools.hat.internal.model.JavaClass.getInstancesCount:(Z)I
invokevirtual java.io.PrintWriter.println:(I)V
25: .line 90
aload 0 /* this */
getfield com.sun.tools.hat.internal.server.HistogramQuery.out:Ljava/io/PrintWriter;
ldc "</td>"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
26: .line 91
aload 0 /* this */
getfield com.sun.tools.hat.internal.server.HistogramQuery.out:Ljava/io/PrintWriter;
ldc "<td>"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
27: .line 92
aload 0 /* this */
getfield com.sun.tools.hat.internal.server.HistogramQuery.out:Ljava/io/PrintWriter;
aload 4 /* clazz */
invokevirtual com.sun.tools.hat.internal.model.JavaClass.getTotalInstanceSize:()J
invokevirtual java.io.PrintWriter.println:(J)V
28: .line 93
aload 0 /* this */
getfield com.sun.tools.hat.internal.server.HistogramQuery.out:Ljava/io/PrintWriter;
ldc "</td></tr>"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
end local 4 // com.sun.tools.hat.internal.model.JavaClass clazz
29: .line 83
iinc 3 /* i */ 1
StackMap locals:
StackMap stack:
30: iload 3 /* i */
aload 1 /* classes */
arraylength
if_icmplt 19
end local 3 // int i
31: .line 95
aload 0 /* this */
getfield com.sun.tools.hat.internal.server.HistogramQuery.out:Ljava/io/PrintWriter;
ldc "</table>"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
32: .line 97
aload 0 /* this */
invokevirtual com.sun.tools.hat.internal.server.HistogramQuery.endHtml:()V
33: .line 98
return
end local 2 // java.util.Comparator comparator
end local 1 // com.sun.tools.hat.internal.model.JavaClass[] classes
end local 0 // com.sun.tools.hat.internal.server.HistogramQuery this
LocalVariableTable:
Start End Slot Name Signature
0 34 0 this Lcom/sun/tools/hat/internal/server/HistogramQuery;
1 34 1 classes [Lcom/sun/tools/hat/internal/model/JavaClass;
3 4 2 comparator Ljava/util/Comparator<Lcom/sun/tools/hat/internal/model/JavaClass;>;
6 7 2 comparator Ljava/util/Comparator<Lcom/sun/tools/hat/internal/model/JavaClass;>;
8 34 2 comparator Ljava/util/Comparator<Lcom/sun/tools/hat/internal/model/JavaClass;>;
18 31 3 i I
20 29 4 clazz Lcom/sun/tools/hat/internal/model/JavaClass;
}
SourceFile: "HistogramQuery.java"
NestMembers:
com.sun.tools.hat.internal.server.HistogramQuery$1 com.sun.tools.hat.internal.server.HistogramQuery$2 com.sun.tools.hat.internal.server.HistogramQuery$3
InnerClasses:
com.sun.tools.hat.internal.server.HistogramQuery$1
com.sun.tools.hat.internal.server.HistogramQuery$2
com.sun.tools.hat.internal.server.HistogramQuery$3