class com.sun.tools.hat.internal.server.ObjectQuery extends com.sun.tools.hat.internal.server.ClassQuery
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.sun.tools.hat.internal.server.ObjectQuery
super_class: com.sun.tools.hat.internal.server.ClassQuery
{
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial com.sun.tools.hat.internal.server.ClassQuery.<init>:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/tools/hat/internal/server/ObjectQuery;
public void run();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: aload 0
new java.lang.StringBuilder
dup
ldc "Object at "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.sun.tools.hat.internal.server.ObjectQuery.query:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.sun.tools.hat.internal.server.ObjectQuery.startHtml:(Ljava/lang/String;)V
1: aload 0
aload 0
getfield com.sun.tools.hat.internal.server.ObjectQuery.query:Ljava/lang/String;
invokevirtual com.sun.tools.hat.internal.server.ObjectQuery.parseHex:(Ljava/lang/String;)J
lstore 1
start local 1 2: aload 0
getfield com.sun.tools.hat.internal.server.ObjectQuery.snapshot:Lcom/sun/tools/hat/internal/model/Snapshot;
lload 1
invokevirtual com.sun.tools.hat.internal.model.Snapshot.findThing:(J)Lcom/sun/tools/hat/internal/model/JavaHeapObject;
astore 3
start local 3 3: aload 3
ifnonnull 6
4: aload 0
ldc "object not found"
invokevirtual com.sun.tools.hat.internal.server.ObjectQuery.error:(Ljava/lang/String;)V
5: goto 26
StackMap locals: long com.sun.tools.hat.internal.model.JavaHeapObject
StackMap stack:
6: aload 3
instanceof com.sun.tools.hat.internal.model.JavaClass
ifeq 9
7: aload 0
aload 3
checkcast com.sun.tools.hat.internal.model.JavaClass
invokevirtual com.sun.tools.hat.internal.server.ObjectQuery.printFullClass:(Lcom/sun/tools/hat/internal/model/JavaClass;)V
8: goto 26
StackMap locals:
StackMap stack:
9: aload 3
instanceof com.sun.tools.hat.internal.model.JavaValueArray
ifeq 14
10: aload 0
aload 3
checkcast com.sun.tools.hat.internal.model.JavaValueArray
iconst_1
invokevirtual com.sun.tools.hat.internal.model.JavaValueArray.valueString:(Z)Ljava/lang/String;
invokevirtual com.sun.tools.hat.internal.server.ObjectQuery.print:(Ljava/lang/String;)V
11: aload 0
aload 3
invokevirtual com.sun.tools.hat.internal.server.ObjectQuery.printAllocationSite:(Lcom/sun/tools/hat/internal/model/JavaHeapObject;)V
12: aload 0
aload 3
invokevirtual com.sun.tools.hat.internal.server.ObjectQuery.printReferencesTo:(Lcom/sun/tools/hat/internal/model/JavaHeapObject;)V
13: goto 26
StackMap locals:
StackMap stack:
14: aload 3
instanceof com.sun.tools.hat.internal.model.JavaObjectArray
ifeq 19
15: aload 0
aload 3
checkcast com.sun.tools.hat.internal.model.JavaObjectArray
invokevirtual com.sun.tools.hat.internal.server.ObjectQuery.printFullObjectArray:(Lcom/sun/tools/hat/internal/model/JavaObjectArray;)V
16: aload 0
aload 3
invokevirtual com.sun.tools.hat.internal.server.ObjectQuery.printAllocationSite:(Lcom/sun/tools/hat/internal/model/JavaHeapObject;)V
17: aload 0
aload 3
invokevirtual com.sun.tools.hat.internal.server.ObjectQuery.printReferencesTo:(Lcom/sun/tools/hat/internal/model/JavaHeapObject;)V
18: goto 26
StackMap locals:
StackMap stack:
19: aload 3
instanceof com.sun.tools.hat.internal.model.JavaObject
ifeq 24
20: aload 0
aload 3
checkcast com.sun.tools.hat.internal.model.JavaObject
invokevirtual com.sun.tools.hat.internal.server.ObjectQuery.printFullObject:(Lcom/sun/tools/hat/internal/model/JavaObject;)V
21: aload 0
aload 3
invokevirtual com.sun.tools.hat.internal.server.ObjectQuery.printAllocationSite:(Lcom/sun/tools/hat/internal/model/JavaHeapObject;)V
22: aload 0
aload 3
invokevirtual com.sun.tools.hat.internal.server.ObjectQuery.printReferencesTo:(Lcom/sun/tools/hat/internal/model/JavaHeapObject;)V
23: goto 26
24: StackMap locals:
StackMap stack:
aload 0
aload 3
invokevirtual com.sun.tools.hat.internal.model.JavaHeapObject.toString:()Ljava/lang/String;
invokevirtual com.sun.tools.hat.internal.server.ObjectQuery.print:(Ljava/lang/String;)V
25: aload 0
aload 3
invokevirtual com.sun.tools.hat.internal.server.ObjectQuery.printReferencesTo:(Lcom/sun/tools/hat/internal/model/JavaHeapObject;)V
26: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.tools.hat.internal.server.ObjectQuery.endHtml:()V
27: return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lcom/sun/tools/hat/internal/server/ObjectQuery;
2 28 1 id J
3 28 3 thing Lcom/sun/tools/hat/internal/model/JavaHeapObject;
private void printFullObject(com.sun.tools.hat.internal.model.JavaObject);
descriptor: (Lcom/sun/tools/hat/internal/model/JavaObject;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=7, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.tools.hat.internal.server.ObjectQuery.out:Ljava/io/PrintWriter;
ldc "<h1>instance of "
invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
1: aload 0
aload 1
invokevirtual com.sun.tools.hat.internal.model.JavaObject.toString:()Ljava/lang/String;
invokevirtual com.sun.tools.hat.internal.server.ObjectQuery.print:(Ljava/lang/String;)V
2: aload 0
getfield com.sun.tools.hat.internal.server.ObjectQuery.out:Ljava/io/PrintWriter;
new java.lang.StringBuilder
dup
ldc " <small>("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual com.sun.tools.hat.internal.model.JavaObject.getSize:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " bytes)</small>"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
3: aload 0
getfield com.sun.tools.hat.internal.server.ObjectQuery.out:Ljava/io/PrintWriter;
ldc "</h1>\n"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
4: aload 0
getfield com.sun.tools.hat.internal.server.ObjectQuery.out:Ljava/io/PrintWriter;
ldc "<h2>Class:</h2>"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
5: aload 0
aload 1
invokevirtual com.sun.tools.hat.internal.model.JavaObject.getClazz:()Lcom/sun/tools/hat/internal/model/JavaClass;
invokevirtual com.sun.tools.hat.internal.server.ObjectQuery.printClass:(Lcom/sun/tools/hat/internal/model/JavaClass;)V
6: aload 0
getfield com.sun.tools.hat.internal.server.ObjectQuery.out:Ljava/io/PrintWriter;
ldc "<h2>Instance data members:</h2>"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
7: aload 1
invokevirtual com.sun.tools.hat.internal.model.JavaObject.getFields:()[Lcom/sun/tools/hat/internal/model/JavaThing;
astore 2
start local 2 8: aload 1
invokevirtual com.sun.tools.hat.internal.model.JavaObject.getClazz:()Lcom/sun/tools/hat/internal/model/JavaClass;
invokevirtual com.sun.tools.hat.internal.model.JavaClass.getFieldsForInstance:()[Lcom/sun/tools/hat/internal/model/JavaField;
astore 3
start local 3 9: aload 2
arraylength
anewarray java.lang.Integer
astore 4
start local 4 10: iconst_0
istore 5
start local 5 11: goto 14
12: StackMap locals: com.sun.tools.hat.internal.server.ObjectQuery com.sun.tools.hat.internal.model.JavaObject com.sun.tools.hat.internal.model.JavaThing[] com.sun.tools.hat.internal.model.JavaField[] java.lang.Integer[] int
StackMap stack:
aload 4
iload 5
new java.lang.Integer
dup
iload 5
invokespecial java.lang.Integer.<init>:(I)V
aastore
13: iinc 5 1
StackMap locals:
StackMap stack:
14: iload 5
aload 2
arraylength
if_icmplt 12
end local 5 15: aload 4
new com.sun.tools.hat.internal.server.ObjectQuery$1
dup
aload 0
aload 3
invokespecial com.sun.tools.hat.internal.server.ObjectQuery$1.<init>:(Lcom/sun/tools/hat/internal/server/ObjectQuery;[Lcom/sun/tools/hat/internal/model/JavaField;)V
invokestatic com.sun.tools.hat.internal.util.ArraySorter.sort:([Ljava/lang/Object;Lcom/sun/tools/hat/internal/util/Comparer;)V
16: iconst_0
istore 5
start local 5 17: goto 24
18: StackMap locals:
StackMap stack:
aload 4
iload 5
aaload
invokevirtual java.lang.Integer.intValue:()I
istore 6
start local 6 19: aload 0
aload 3
iload 6
aaload
invokevirtual com.sun.tools.hat.internal.server.ObjectQuery.printField:(Lcom/sun/tools/hat/internal/model/JavaField;)V
20: aload 0
getfield com.sun.tools.hat.internal.server.ObjectQuery.out:Ljava/io/PrintWriter;
ldc " : "
invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
21: aload 0
aload 2
iload 6
aaload
invokevirtual com.sun.tools.hat.internal.server.ObjectQuery.printThing:(Lcom/sun/tools/hat/internal/model/JavaThing;)V
22: aload 0
getfield com.sun.tools.hat.internal.server.ObjectQuery.out:Ljava/io/PrintWriter;
ldc "<br>"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
end local 6 23: iinc 5 1
StackMap locals:
StackMap stack:
24: iload 5
aload 2
arraylength
if_icmplt 18
end local 5 25: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lcom/sun/tools/hat/internal/server/ObjectQuery;
0 26 1 obj Lcom/sun/tools/hat/internal/model/JavaObject;
8 26 2 things [Lcom/sun/tools/hat/internal/model/JavaThing;
9 26 3 fields [Lcom/sun/tools/hat/internal/model/JavaField;
10 26 4 hack [Ljava/lang/Integer;
11 15 5 i I
17 25 5 i I
19 23 6 index I
MethodParameters:
Name Flags
obj
private void printFullObjectArray(com.sun.tools.hat.internal.model.JavaObjectArray);
descriptor: (Lcom/sun/tools/hat/internal/model/JavaObjectArray;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.sun.tools.hat.internal.model.JavaObjectArray.getElements:()[Lcom/sun/tools/hat/internal/model/JavaThing;
astore 2
start local 2 1: aload 0
getfield com.sun.tools.hat.internal.server.ObjectQuery.out:Ljava/io/PrintWriter;
new java.lang.StringBuilder
dup
ldc "<h1>Array of "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
arraylength
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " objects</h1>"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
2: aload 0
getfield com.sun.tools.hat.internal.server.ObjectQuery.out:Ljava/io/PrintWriter;
ldc "<h2>Class:</h2>"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
3: aload 0
aload 1
invokevirtual com.sun.tools.hat.internal.model.JavaObjectArray.getClazz:()Lcom/sun/tools/hat/internal/model/JavaClass;
invokevirtual com.sun.tools.hat.internal.server.ObjectQuery.printClass:(Lcom/sun/tools/hat/internal/model/JavaClass;)V
4: aload 0
getfield com.sun.tools.hat.internal.server.ObjectQuery.out:Ljava/io/PrintWriter;
ldc "<h2>Values</h2>"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
5: iconst_0
istore 3
start local 3 6: goto 11
7: StackMap locals: com.sun.tools.hat.internal.model.JavaThing[] int
StackMap stack:
aload 0
getfield com.sun.tools.hat.internal.server.ObjectQuery.out:Ljava/io/PrintWriter;
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " : "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
8: aload 0
aload 2
iload 3
aaload
invokevirtual com.sun.tools.hat.internal.server.ObjectQuery.printThing:(Lcom/sun/tools/hat/internal/model/JavaThing;)V
9: aload 0
getfield com.sun.tools.hat.internal.server.ObjectQuery.out:Ljava/io/PrintWriter;
ldc "<br>"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
10: iinc 3 1
StackMap locals:
StackMap stack:
11: iload 3
aload 2
arraylength
if_icmplt 7
end local 3 12: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/sun/tools/hat/internal/server/ObjectQuery;
0 13 1 arr Lcom/sun/tools/hat/internal/model/JavaObjectArray;
1 13 2 elements [Lcom/sun/tools/hat/internal/model/JavaThing;
6 12 3 i I
MethodParameters:
Name Flags
arr
private void printAllocationSite(com.sun.tools.hat.internal.model.JavaHeapObject);
descriptor: (Lcom/sun/tools/hat/internal/model/JavaHeapObject;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.sun.tools.hat.internal.model.JavaHeapObject.getAllocatedFrom:()Lcom/sun/tools/hat/internal/model/StackTrace;
astore 2
start local 2 1: aload 2
ifnull 2
aload 2
invokevirtual com.sun.tools.hat.internal.model.StackTrace.getFrames:()[Lcom/sun/tools/hat/internal/model/StackFrame;
arraylength
ifne 3
2: StackMap locals: com.sun.tools.hat.internal.model.StackTrace
StackMap stack:
return
3: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.hat.internal.server.ObjectQuery.out:Ljava/io/PrintWriter;
ldc "<h2>Object allocated from:</h2>"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
4: aload 0
aload 2
invokevirtual com.sun.tools.hat.internal.server.ObjectQuery.printStackTrace:(Lcom/sun/tools/hat/internal/model/StackTrace;)V
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/tools/hat/internal/server/ObjectQuery;
0 6 1 obj Lcom/sun/tools/hat/internal/model/JavaHeapObject;
1 6 2 trace Lcom/sun/tools/hat/internal/model/StackTrace;
MethodParameters:
Name Flags
obj
}
SourceFile: "ObjectQuery.java"
NestMembers:
com.sun.tools.hat.internal.server.ObjectQuery$1
InnerClasses:
com.sun.tools.hat.internal.server.ObjectQuery$1