public class com.sun.tools.hat.internal.model.Snapshot
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.sun.tools.hat.internal.model.Snapshot
super_class: java.lang.Object
{
public static long SMALL_ID_MASK;
descriptor: J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
public static final byte[] EMPTY_BYTE_ARRAY;
descriptor: [B
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
private static final com.sun.tools.hat.internal.model.JavaField[] EMPTY_FIELD_ARRAY;
descriptor: [Lcom/sun/tools/hat/internal/model/JavaField;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final com.sun.tools.hat.internal.model.JavaStatic[] EMPTY_STATIC_ARRAY;
descriptor: [Lcom/sun/tools/hat/internal/model/JavaStatic;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private java.util.Hashtable<java.lang.Number, com.sun.tools.hat.internal.model.JavaHeapObject> heapObjects;
descriptor: Ljava/util/Hashtable;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Hashtable<Ljava/lang/Number;Lcom/sun/tools/hat/internal/model/JavaHeapObject;>;
private java.util.Hashtable<java.lang.Number, com.sun.tools.hat.internal.model.JavaClass> fakeClasses;
descriptor: Ljava/util/Hashtable;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Hashtable<Ljava/lang/Number;Lcom/sun/tools/hat/internal/model/JavaClass;>;
private java.util.Vector<com.sun.tools.hat.internal.model.Root> roots;
descriptor: Ljava/util/Vector;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Vector<Lcom/sun/tools/hat/internal/model/Root;>;
private java.util.Map<java.lang.String, com.sun.tools.hat.internal.model.JavaClass> classes;
descriptor: Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Map<Ljava/lang/String;Lcom/sun/tools/hat/internal/model/JavaClass;>;
private volatile java.util.Map<com.sun.tools.hat.internal.model.JavaHeapObject, java.lang.Boolean> newObjects;
descriptor: Ljava/util/Map;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
Signature: Ljava/util/Map<Lcom/sun/tools/hat/internal/model/JavaHeapObject;Ljava/lang/Boolean;>;
private volatile java.util.Map<com.sun.tools.hat.internal.model.JavaHeapObject, com.sun.tools.hat.internal.model.StackTrace> siteTraces;
descriptor: Ljava/util/Map;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
Signature: Ljava/util/Map<Lcom/sun/tools/hat/internal/model/JavaHeapObject;Lcom/sun/tools/hat/internal/model/StackTrace;>;
private java.util.Map<com.sun.tools.hat.internal.model.JavaHeapObject, com.sun.tools.hat.internal.model.Root> rootsMap;
descriptor: Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Map<Lcom/sun/tools/hat/internal/model/JavaHeapObject;Lcom/sun/tools/hat/internal/model/Root;>;
private java.lang.ref.SoftReference<java.util.Vector> finalizablesCache;
descriptor: Ljava/lang/ref/SoftReference;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/lang/ref/SoftReference<Ljava/util/Vector;>;
private com.sun.tools.hat.internal.model.JavaThing nullThing;
descriptor: Lcom/sun/tools/hat/internal/model/JavaThing;
flags: (0x0002) ACC_PRIVATE
private com.sun.tools.hat.internal.model.JavaClass weakReferenceClass;
descriptor: Lcom/sun/tools/hat/internal/model/JavaClass;
flags: (0x0002) ACC_PRIVATE
private int referentFieldIndex;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private com.sun.tools.hat.internal.model.JavaClass javaLangClass;
descriptor: Lcom/sun/tools/hat/internal/model/JavaClass;
flags: (0x0002) ACC_PRIVATE
private com.sun.tools.hat.internal.model.JavaClass javaLangString;
descriptor: Lcom/sun/tools/hat/internal/model/JavaClass;
flags: (0x0002) ACC_PRIVATE
private com.sun.tools.hat.internal.model.JavaClass javaLangClassLoader;
descriptor: Lcom/sun/tools/hat/internal/model/JavaClass;
flags: (0x0002) ACC_PRIVATE
private volatile com.sun.tools.hat.internal.model.JavaClass otherArrayType;
descriptor: Lcom/sun/tools/hat/internal/model/JavaClass;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private com.sun.tools.hat.internal.model.ReachableExcludes reachableExcludes;
descriptor: Lcom/sun/tools/hat/internal/model/ReachableExcludes;
flags: (0x0002) ACC_PRIVATE
private com.sun.tools.hat.internal.parser.ReadBuffer readBuf;
descriptor: Lcom/sun/tools/hat/internal/parser/ReadBuffer;
flags: (0x0002) ACC_PRIVATE
private boolean hasNewSet;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean unresolvedObjectsOK;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean newStyleArrayClass;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private int identifierSize;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int minimumObjectSize;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private static final int DOT_LIMIT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 5000
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc 4294967295
putstatic com.sun.tools.hat.internal.model.Snapshot.SMALL_ID_MASK:J
1: iconst_0
newarray 8
putstatic com.sun.tools.hat.internal.model.Snapshot.EMPTY_BYTE_ARRAY:[B
2: iconst_0
anewarray com.sun.tools.hat.internal.model.JavaField
putstatic com.sun.tools.hat.internal.model.Snapshot.EMPTY_FIELD_ARRAY:[Lcom/sun/tools/hat/internal/model/JavaField;
3: iconst_0
anewarray com.sun.tools.hat.internal.model.JavaStatic
putstatic com.sun.tools.hat.internal.model.Snapshot.EMPTY_STATIC_ARRAY:[Lcom/sun/tools/hat/internal/model/JavaStatic;
4: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(com.sun.tools.hat.internal.parser.ReadBuffer);
descriptor: (Lcom/sun/tools/hat/internal/parser/ReadBuffer;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
2: new java.util.Hashtable
dup
invokespecial java.util.Hashtable.<init>:()V
putfield com.sun.tools.hat.internal.model.Snapshot.heapObjects:Ljava/util/Hashtable;
3: aload 0
4: new java.util.Hashtable
dup
invokespecial java.util.Hashtable.<init>:()V
putfield com.sun.tools.hat.internal.model.Snapshot.fakeClasses:Ljava/util/Hashtable;
5: aload 0
new java.util.Vector
dup
invokespecial java.util.Vector.<init>:()V
putfield com.sun.tools.hat.internal.model.Snapshot.roots:Ljava/util/Vector;
6: aload 0
7: new java.util.TreeMap
dup
invokespecial java.util.TreeMap.<init>:()V
putfield com.sun.tools.hat.internal.model.Snapshot.classes:Ljava/util/Map;
8: aload 0
9: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield com.sun.tools.hat.internal.model.Snapshot.rootsMap:Ljava/util/Map;
10: aload 0
iconst_4
putfield com.sun.tools.hat.internal.model.Snapshot.identifierSize:I
11: aload 0
new com.sun.tools.hat.internal.model.HackJavaValue
dup
ldc "<null>"
iconst_0
invokespecial com.sun.tools.hat.internal.model.HackJavaValue.<init>:(Ljava/lang/String;I)V
putfield com.sun.tools.hat.internal.model.Snapshot.nullThing:Lcom/sun/tools/hat/internal/model/JavaThing;
12: aload 0
aload 1
putfield com.sun.tools.hat.internal.model.Snapshot.readBuf:Lcom/sun/tools/hat/internal/parser/ReadBuffer;
13: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/sun/tools/hat/internal/model/Snapshot;
0 14 1 buf Lcom/sun/tools/hat/internal/parser/ReadBuffer;
MethodParameters:
Name Flags
buf
public void setSiteTrace(com.sun.tools.hat.internal.model.JavaHeapObject, com.sun.tools.hat.internal.model.StackTrace);
descriptor: (Lcom/sun/tools/hat/internal/model/JavaHeapObject;Lcom/sun/tools/hat/internal/model/StackTrace;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnull 3
aload 2
invokevirtual com.sun.tools.hat.internal.model.StackTrace.getFrames:()[Lcom/sun/tools/hat/internal/model/StackFrame;
arraylength
ifeq 3
1: aload 0
invokevirtual com.sun.tools.hat.internal.model.Snapshot.initSiteTraces:()V
2: aload 0
getfield com.sun.tools.hat.internal.model.Snapshot.siteTraces:Ljava/util/Map;
aload 1
aload 2
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
3: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/tools/hat/internal/model/Snapshot;
0 4 1 obj Lcom/sun/tools/hat/internal/model/JavaHeapObject;
0 4 2 trace Lcom/sun/tools/hat/internal/model/StackTrace;
MethodParameters:
Name Flags
obj
trace
public com.sun.tools.hat.internal.model.StackTrace getSiteTrace(com.sun.tools.hat.internal.model.JavaHeapObject);
descriptor: (Lcom/sun/tools/hat/internal/model/JavaHeapObject;)Lcom/sun/tools/hat/internal/model/StackTrace;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.tools.hat.internal.model.Snapshot.siteTraces:Ljava/util/Map;
ifnull 2
1: aload 0
getfield com.sun.tools.hat.internal.model.Snapshot.siteTraces:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.sun.tools.hat.internal.model.StackTrace
areturn
2: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/tools/hat/internal/model/Snapshot;
0 3 1 obj Lcom/sun/tools/hat/internal/model/JavaHeapObject;
MethodParameters:
Name Flags
obj
public void setNewStyleArrayClass(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield com.sun.tools.hat.internal.model.Snapshot.newStyleArrayClass:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/tools/hat/internal/model/Snapshot;
0 2 1 value Z
MethodParameters:
Name Flags
value
public boolean isNewStyleArrayClass();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.hat.internal.model.Snapshot.newStyleArrayClass:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/hat/internal/model/Snapshot;
public void setIdentifierSize(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield com.sun.tools.hat.internal.model.Snapshot.identifierSize:I
1: aload 0
iconst_2
iload 1
imul
putfield com.sun.tools.hat.internal.model.Snapshot.minimumObjectSize:I
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/tools/hat/internal/model/Snapshot;
0 3 1 size I
MethodParameters:
Name Flags
size
public int getIdentifierSize();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.hat.internal.model.Snapshot.identifierSize:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/hat/internal/model/Snapshot;
public int getMinimumObjectSize();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.hat.internal.model.Snapshot.minimumObjectSize:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/hat/internal/model/Snapshot;
public void addHeapObject(long, com.sun.tools.hat.internal.model.JavaHeapObject);
descriptor: (JLcom/sun/tools/hat/internal/model/JavaHeapObject;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 3 0: aload 0
getfield com.sun.tools.hat.internal.model.Snapshot.heapObjects:Ljava/util/Hashtable;
aload 0
lload 1
invokevirtual com.sun.tools.hat.internal.model.Snapshot.makeId:(J)Ljava/lang/Number;
aload 3
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
1: return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/tools/hat/internal/model/Snapshot;
0 2 1 id J
0 2 3 ho Lcom/sun/tools/hat/internal/model/JavaHeapObject;
MethodParameters:
Name Flags
id
ho
public void addRoot(com.sun.tools.hat.internal.model.Root);
descriptor: (Lcom/sun/tools/hat/internal/model/Root;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
getfield com.sun.tools.hat.internal.model.Snapshot.roots:Ljava/util/Vector;
invokevirtual java.util.Vector.size:()I
invokevirtual com.sun.tools.hat.internal.model.Root.setIndex:(I)V
1: aload 0
getfield com.sun.tools.hat.internal.model.Snapshot.roots:Ljava/util/Vector;
aload 1
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/tools/hat/internal/model/Snapshot;
0 3 1 r Lcom/sun/tools/hat/internal/model/Root;
MethodParameters:
Name Flags
r
public void addClass(long, com.sun.tools.hat.internal.model.JavaClass);
descriptor: (JLcom/sun/tools/hat/internal/model/JavaClass;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 3 0: aload 0
lload 1
aload 3
invokevirtual com.sun.tools.hat.internal.model.Snapshot.addHeapObject:(JLcom/sun/tools/hat/internal/model/JavaHeapObject;)V
1: aload 0
aload 3
invokevirtual com.sun.tools.hat.internal.model.Snapshot.putInClassesMap:(Lcom/sun/tools/hat/internal/model/JavaClass;)V
2: return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/tools/hat/internal/model/Snapshot;
0 3 1 id J
0 3 3 c Lcom/sun/tools/hat/internal/model/JavaClass;
MethodParameters:
Name Flags
id
c
com.sun.tools.hat.internal.model.JavaClass addFakeInstanceClass(long, int);
descriptor: (JI)Lcom/sun/tools/hat/internal/model/JavaClass;
flags: (0x0000)
Code:
stack=14, locals=10, args_size=3
start local 0 start local 1 start local 3 0: new java.lang.StringBuilder
dup
ldc "unknown-class<@"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 1
invokestatic com.sun.tools.hat.internal.util.Misc.toHex:(J)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ">"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4
start local 4 1: iload 3
iconst_4
idiv
istore 5
start local 5 2: iload 3
iconst_4
irem
istore 6
start local 6 3: iload 5
iload 6
iadd
anewarray com.sun.tools.hat.internal.model.JavaField
astore 7
start local 7 4: iconst_0
istore 8
start local 8 5: goto 8
6: StackMap locals: com.sun.tools.hat.internal.model.Snapshot long int java.lang.String int int com.sun.tools.hat.internal.model.JavaField[] int
StackMap stack:
aload 7
iload 8
new com.sun.tools.hat.internal.model.JavaField
dup
new java.lang.StringBuilder
dup
ldc "unknown-field-"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 8
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
ldc "I"
invokespecial com.sun.tools.hat.internal.model.JavaField.<init>:(Ljava/lang/String;Ljava/lang/String;)V
aastore
7: iinc 8 1
StackMap locals:
StackMap stack:
8: iload 8
iload 5
if_icmplt 6
9: iconst_0
istore 8
goto 14
10: StackMap locals:
StackMap stack:
aload 7
iload 8
iload 5
iadd
new com.sun.tools.hat.internal.model.JavaField
dup
new java.lang.StringBuilder
dup
ldc "unknown-field-"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
11: iload 8
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
iload 5
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
ldc "B"
invokespecial com.sun.tools.hat.internal.model.JavaField.<init>:(Ljava/lang/String;Ljava/lang/String;)V
12: aastore
13: iinc 8 1
StackMap locals:
StackMap stack:
14: iload 8
iload 6
if_icmplt 10
15: new com.sun.tools.hat.internal.model.JavaClass
dup
aload 4
lconst_0
lconst_0
lconst_0
lconst_0
aload 7
16: getstatic com.sun.tools.hat.internal.model.Snapshot.EMPTY_STATIC_ARRAY:[Lcom/sun/tools/hat/internal/model/JavaStatic;
iload 3
17: invokespecial com.sun.tools.hat.internal.model.JavaClass.<init>:(Ljava/lang/String;JJJJ[Lcom/sun/tools/hat/internal/model/JavaField;[Lcom/sun/tools/hat/internal/model/JavaStatic;I)V
astore 9
start local 9 18: aload 0
aload 0
lload 1
invokevirtual com.sun.tools.hat.internal.model.Snapshot.makeId:(J)Ljava/lang/Number;
aload 9
invokevirtual com.sun.tools.hat.internal.model.Snapshot.addFakeClass:(Ljava/lang/Number;Lcom/sun/tools/hat/internal/model/JavaClass;)V
19: aload 9
areturn
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lcom/sun/tools/hat/internal/model/Snapshot;
0 20 1 classID J
0 20 3 instSize I
1 20 4 name Ljava/lang/String;
2 20 5 numInts I
3 20 6 numBytes I
4 20 7 fields [Lcom/sun/tools/hat/internal/model/JavaField;
5 20 8 i I
18 20 9 c Lcom/sun/tools/hat/internal/model/JavaClass;
MethodParameters:
Name Flags
classID
instSize
public boolean getHasNewSet();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.hat.internal.model.Snapshot.hasNewSet:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/hat/internal/model/Snapshot;
public void resolve(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=15, locals=5, args_size=2
start local 0 start local 1 0: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Resolving "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.sun.tools.hat.internal.model.Snapshot.heapObjects:Ljava/util/Hashtable;
invokevirtual java.util.Hashtable.size:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " objects..."
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
1: aload 0
aload 0
ldc "java.lang.Class"
invokevirtual com.sun.tools.hat.internal.model.Snapshot.findClass:(Ljava/lang/String;)Lcom/sun/tools/hat/internal/model/JavaClass;
putfield com.sun.tools.hat.internal.model.Snapshot.javaLangClass:Lcom/sun/tools/hat/internal/model/JavaClass;
2: aload 0
getfield com.sun.tools.hat.internal.model.Snapshot.javaLangClass:Lcom/sun/tools/hat/internal/model/JavaClass;
ifnonnull 8
3: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "WARNING: hprof file does not include java.lang.Class!"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
4: aload 0
new com.sun.tools.hat.internal.model.JavaClass
dup
ldc "java.lang.Class"
lconst_0
lconst_0
lconst_0
lconst_0
5: getstatic com.sun.tools.hat.internal.model.Snapshot.EMPTY_FIELD_ARRAY:[Lcom/sun/tools/hat/internal/model/JavaField;
getstatic com.sun.tools.hat.internal.model.Snapshot.EMPTY_STATIC_ARRAY:[Lcom/sun/tools/hat/internal/model/JavaStatic;
iconst_0
invokespecial com.sun.tools.hat.internal.model.JavaClass.<init>:(Ljava/lang/String;JJJJ[Lcom/sun/tools/hat/internal/model/JavaField;[Lcom/sun/tools/hat/internal/model/JavaStatic;I)V
6: putfield com.sun.tools.hat.internal.model.Snapshot.javaLangClass:Lcom/sun/tools/hat/internal/model/JavaClass;
7: aload 0
aload 0
getfield com.sun.tools.hat.internal.model.Snapshot.javaLangClass:Lcom/sun/tools/hat/internal/model/JavaClass;
invokevirtual com.sun.tools.hat.internal.model.Snapshot.addFakeClass:(Lcom/sun/tools/hat/internal/model/JavaClass;)V
8: StackMap locals:
StackMap stack:
aload 0
aload 0
ldc "java.lang.String"
invokevirtual com.sun.tools.hat.internal.model.Snapshot.findClass:(Ljava/lang/String;)Lcom/sun/tools/hat/internal/model/JavaClass;
putfield com.sun.tools.hat.internal.model.Snapshot.javaLangString:Lcom/sun/tools/hat/internal/model/JavaClass;
9: aload 0
getfield com.sun.tools.hat.internal.model.Snapshot.javaLangString:Lcom/sun/tools/hat/internal/model/JavaClass;
ifnonnull 15
10: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "WARNING: hprof file does not include java.lang.String!"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
11: aload 0
new com.sun.tools.hat.internal.model.JavaClass
dup
ldc "java.lang.String"
lconst_0
lconst_0
lconst_0
lconst_0
12: getstatic com.sun.tools.hat.internal.model.Snapshot.EMPTY_FIELD_ARRAY:[Lcom/sun/tools/hat/internal/model/JavaField;
getstatic com.sun.tools.hat.internal.model.Snapshot.EMPTY_STATIC_ARRAY:[Lcom/sun/tools/hat/internal/model/JavaStatic;
iconst_0
invokespecial com.sun.tools.hat.internal.model.JavaClass.<init>:(Ljava/lang/String;JJJJ[Lcom/sun/tools/hat/internal/model/JavaField;[Lcom/sun/tools/hat/internal/model/JavaStatic;I)V
13: putfield com.sun.tools.hat.internal.model.Snapshot.javaLangString:Lcom/sun/tools/hat/internal/model/JavaClass;
14: aload 0
aload 0
getfield com.sun.tools.hat.internal.model.Snapshot.javaLangString:Lcom/sun/tools/hat/internal/model/JavaClass;
invokevirtual com.sun.tools.hat.internal.model.Snapshot.addFakeClass:(Lcom/sun/tools/hat/internal/model/JavaClass;)V
15: StackMap locals:
StackMap stack:
aload 0
aload 0
ldc "java.lang.ClassLoader"
invokevirtual com.sun.tools.hat.internal.model.Snapshot.findClass:(Ljava/lang/String;)Lcom/sun/tools/hat/internal/model/JavaClass;
putfield com.sun.tools.hat.internal.model.Snapshot.javaLangClassLoader:Lcom/sun/tools/hat/internal/model/JavaClass;
16: aload 0
getfield com.sun.tools.hat.internal.model.Snapshot.javaLangClassLoader:Lcom/sun/tools/hat/internal/model/JavaClass;
ifnonnull 22
17: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "WARNING: hprof file does not include java.lang.ClassLoader!"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
18: aload 0
new com.sun.tools.hat.internal.model.JavaClass
dup
ldc "java.lang.ClassLoader"
lconst_0
lconst_0
lconst_0
lconst_0
19: getstatic com.sun.tools.hat.internal.model.Snapshot.EMPTY_FIELD_ARRAY:[Lcom/sun/tools/hat/internal/model/JavaField;
getstatic com.sun.tools.hat.internal.model.Snapshot.EMPTY_STATIC_ARRAY:[Lcom/sun/tools/hat/internal/model/JavaStatic;
iconst_0
invokespecial com.sun.tools.hat.internal.model.JavaClass.<init>:(Ljava/lang/String;JJJJ[Lcom/sun/tools/hat/internal/model/JavaField;[Lcom/sun/tools/hat/internal/model/JavaStatic;I)V
20: putfield com.sun.tools.hat.internal.model.Snapshot.javaLangClassLoader:Lcom/sun/tools/hat/internal/model/JavaClass;
21: aload 0
aload 0
getfield com.sun.tools.hat.internal.model.Snapshot.javaLangClassLoader:Lcom/sun/tools/hat/internal/model/JavaClass;
invokevirtual com.sun.tools.hat.internal.model.Snapshot.addFakeClass:(Lcom/sun/tools/hat/internal/model/JavaClass;)V
22: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.hat.internal.model.Snapshot.heapObjects:Ljava/util/Hashtable;
invokevirtual java.util.Hashtable.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 3
goto 26
StackMap locals: com.sun.tools.hat.internal.model.Snapshot int top java.util.Iterator
StackMap stack:
23: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.hat.internal.model.JavaHeapObject
astore 2
start local 2 24: aload 2
instanceof com.sun.tools.hat.internal.model.JavaClass
ifeq 26
25: aload 2
aload 0
invokevirtual com.sun.tools.hat.internal.model.JavaHeapObject.resolve:(Lcom/sun/tools/hat/internal/model/Snapshot;)V
end local 2 26: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 23
27: aload 0
getfield com.sun.tools.hat.internal.model.Snapshot.heapObjects:Ljava/util/Hashtable;
invokevirtual java.util.Hashtable.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 3
goto 31
StackMap locals:
StackMap stack:
28: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.hat.internal.model.JavaHeapObject
astore 2
start local 2 29: aload 2
instanceof com.sun.tools.hat.internal.model.JavaClass
ifne 31
30: aload 2
aload 0
invokevirtual com.sun.tools.hat.internal.model.JavaHeapObject.resolve:(Lcom/sun/tools/hat/internal/model/Snapshot;)V
end local 2 31: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 28
32: aload 0
getfield com.sun.tools.hat.internal.model.Snapshot.heapObjects:Ljava/util/Hashtable;
aload 0
getfield com.sun.tools.hat.internal.model.Snapshot.fakeClasses:Ljava/util/Hashtable;
invokevirtual java.util.Hashtable.putAll:(Ljava/util/Map;)V
33: aload 0
getfield com.sun.tools.hat.internal.model.Snapshot.fakeClasses:Ljava/util/Hashtable;
invokevirtual java.util.Hashtable.clear:()V
34: aload 0
aload 0
ldc "java.lang.ref.Reference"
invokevirtual com.sun.tools.hat.internal.model.Snapshot.findClass:(Ljava/lang/String;)Lcom/sun/tools/hat/internal/model/JavaClass;
putfield com.sun.tools.hat.internal.model.Snapshot.weakReferenceClass:Lcom/sun/tools/hat/internal/model/JavaClass;
35: aload 0
getfield com.sun.tools.hat.internal.model.Snapshot.weakReferenceClass:Lcom/sun/tools/hat/internal/model/JavaClass;
ifnonnull 39
36: aload 0
aload 0
ldc "sun.misc.Ref"
invokevirtual com.sun.tools.hat.internal.model.Snapshot.findClass:(Ljava/lang/String;)Lcom/sun/tools/hat/internal/model/JavaClass;
putfield com.sun.tools.hat.internal.model.Snapshot.weakReferenceClass:Lcom/sun/tools/hat/internal/model/JavaClass;
37: aload 0
iconst_0
putfield com.sun.tools.hat.internal.model.Snapshot.referentFieldIndex:I
38: goto 47
39: StackMap locals: com.sun.tools.hat.internal.model.Snapshot int
StackMap stack:
aload 0
getfield com.sun.tools.hat.internal.model.Snapshot.weakReferenceClass:Lcom/sun/tools/hat/internal/model/JavaClass;
invokevirtual com.sun.tools.hat.internal.model.JavaClass.getFieldsForInstance:()[Lcom/sun/tools/hat/internal/model/JavaField;
astore 2
start local 2 40: iconst_0
istore 3
start local 3 41: goto 46
42: StackMap locals: com.sun.tools.hat.internal.model.JavaField[] int
StackMap stack:
ldc "referent"
aload 2
iload 3
aaload
invokevirtual com.sun.tools.hat.internal.model.JavaField.getName:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 45
43: aload 0
iload 3
putfield com.sun.tools.hat.internal.model.Snapshot.referentFieldIndex:I
44: goto 47
45: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
46: iload 3
aload 2
arraylength
if_icmplt 42
end local 3 end local 2 47: StackMap locals:
StackMap stack:
iload 1
ifeq 51
48: aload 0
invokevirtual com.sun.tools.hat.internal.model.Snapshot.calculateReferencesToObjects:()V
49: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "Eliminating duplicate references"
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
50: getstatic java.lang.System.out:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.flush:()V
51: StackMap locals:
StackMap stack:
iconst_0
istore 2
start local 2 52: aload 0
getfield com.sun.tools.hat.internal.model.Snapshot.heapObjects:Ljava/util/Hashtable;
invokevirtual java.util.Hashtable.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 4
goto 59
StackMap locals: com.sun.tools.hat.internal.model.Snapshot int int top java.util.Iterator
StackMap stack:
53: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.hat.internal.model.JavaHeapObject
astore 3
start local 3 54: aload 3
invokevirtual com.sun.tools.hat.internal.model.JavaHeapObject.setupReferers:()V
55: iinc 2 1
56: iload 1
ifeq 59
iload 2
sipush 5000
irem
ifne 59
57: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "."
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
58: getstatic java.lang.System.out:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.flush:()V
end local 3 59: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 53
60: iload 1
ifeq 62
61: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc ""
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
62: StackMap locals: com.sun.tools.hat.internal.model.Snapshot int int
StackMap stack:
aload 0
aload 0
getfield com.sun.tools.hat.internal.model.Snapshot.classes:Ljava/util/Map;
invokestatic java.util.Collections.unmodifiableMap:(Ljava/util/Map;)Ljava/util/Map;
putfield com.sun.tools.hat.internal.model.Snapshot.classes:Ljava/util/Map;
63: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 64 0 this Lcom/sun/tools/hat/internal/model/Snapshot;
0 64 1 calculateRefs Z
24 26 2 t Lcom/sun/tools/hat/internal/model/JavaHeapObject;
29 31 2 t Lcom/sun/tools/hat/internal/model/JavaHeapObject;
40 47 2 fields [Lcom/sun/tools/hat/internal/model/JavaField;
41 47 3 i I
52 64 2 count I
54 59 3 t Lcom/sun/tools/hat/internal/model/JavaHeapObject;
MethodParameters:
Name Flags
calculateRefs
private void calculateReferencesToObjects();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=1
start local 0 0: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Chasing references, expect "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
1: aload 0
getfield com.sun.tools.hat.internal.model.Snapshot.heapObjects:Ljava/util/Hashtable;
invokevirtual java.util.Hashtable.size:()I
sipush 5000
idiv
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " dots"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
2: invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
3: getstatic java.lang.System.out:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.flush:()V
4: iconst_0
istore 1
start local 1 5: new com.sun.tools.hat.internal.model.Snapshot$MyVisitor
dup
invokespecial com.sun.tools.hat.internal.model.Snapshot$MyVisitor.<init>:()V
astore 2
start local 2 6: aload 0
getfield com.sun.tools.hat.internal.model.Snapshot.heapObjects:Ljava/util/Hashtable;
invokevirtual java.util.Hashtable.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 4
goto 14
StackMap locals: com.sun.tools.hat.internal.model.Snapshot int com.sun.tools.hat.internal.model.Snapshot$MyVisitor top java.util.Iterator
StackMap stack:
7: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.hat.internal.model.JavaHeapObject
astore 3
start local 3 8: aload 2
aload 3
putfield com.sun.tools.hat.internal.model.Snapshot$MyVisitor.t:Lcom/sun/tools/hat/internal/model/JavaHeapObject;
9: aload 3
aload 2
invokevirtual com.sun.tools.hat.internal.model.JavaHeapObject.visitReferencedObjects:(Lcom/sun/tools/hat/internal/model/JavaHeapObjectVisitor;)V
10: iinc 1 1
11: iload 1
sipush 5000
irem
ifne 14
12: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "."
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
13: getstatic java.lang.System.out:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.flush:()V
end local 3 14: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
15: getstatic java.lang.System.out:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.println:()V
16: aload 0
getfield com.sun.tools.hat.internal.model.Snapshot.roots:Ljava/util/Vector;
invokevirtual java.util.Vector.iterator:()Ljava/util/Iterator;
astore 4
goto 22
StackMap locals:
StackMap stack:
17: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.hat.internal.model.Root
astore 3
start local 3 18: aload 3
aload 0
invokevirtual com.sun.tools.hat.internal.model.Root.resolve:(Lcom/sun/tools/hat/internal/model/Snapshot;)V
19: aload 0
aload 3
invokevirtual com.sun.tools.hat.internal.model.Root.getId:()J
invokevirtual com.sun.tools.hat.internal.model.Snapshot.findThing:(J)Lcom/sun/tools/hat/internal/model/JavaHeapObject;
astore 5
start local 5 20: aload 5
ifnull 22
21: aload 5
aload 3
invokevirtual com.sun.tools.hat.internal.model.JavaHeapObject.addReferenceFromRoot:(Lcom/sun/tools/hat/internal/model/Root;)V
end local 5 end local 3 22: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 17
23: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lcom/sun/tools/hat/internal/model/Snapshot;
5 24 1 count I
6 24 2 visitor Lcom/sun/tools/hat/internal/model/Snapshot$MyVisitor;
8 14 3 t Lcom/sun/tools/hat/internal/model/JavaHeapObject;
18 22 3 r Lcom/sun/tools/hat/internal/model/Root;
20 22 5 t Lcom/sun/tools/hat/internal/model/JavaHeapObject;
public void markNewRelativeTo(com.sun.tools.hat.internal.model.Snapshot);
descriptor: (Lcom/sun/tools/hat/internal/model/Snapshot;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=8, args_size=2
start local 0 start local 1 0: aload 0
iconst_1
putfield com.sun.tools.hat.internal.model.Snapshot.hasNewSet:Z
1: aload 0
getfield com.sun.tools.hat.internal.model.Snapshot.heapObjects:Ljava/util/Hashtable;
invokevirtual java.util.Hashtable.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 3
goto 15
StackMap locals: com.sun.tools.hat.internal.model.Snapshot com.sun.tools.hat.internal.model.Snapshot top java.util.Iterator
StackMap stack:
2: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.hat.internal.model.JavaHeapObject
astore 2
start local 2 3: aload 2
invokevirtual com.sun.tools.hat.internal.model.JavaHeapObject.getId:()J
lstore 5
start local 5 4: lload 5
lconst_0
lcmp
ifeq 5
lload 5
ldc -1
lcmp
ifne 7
5: StackMap locals: com.sun.tools.hat.internal.model.Snapshot com.sun.tools.hat.internal.model.Snapshot com.sun.tools.hat.internal.model.JavaHeapObject java.util.Iterator top long
StackMap stack:
iconst_0
istore 4
start local 4 6: goto 14
end local 4 7: StackMap locals:
StackMap stack:
aload 1
aload 2
invokevirtual com.sun.tools.hat.internal.model.JavaHeapObject.getId:()J
invokevirtual com.sun.tools.hat.internal.model.Snapshot.findThing:(J)Lcom/sun/tools/hat/internal/model/JavaHeapObject;
astore 7
start local 7 8: aload 7
ifnonnull 11
9: iconst_1
istore 4
start local 4 10: goto 14
end local 4 11: StackMap locals: com.sun.tools.hat.internal.model.JavaThing
StackMap stack:
aload 2
aload 7
invokevirtual com.sun.tools.hat.internal.model.JavaHeapObject.isSameTypeAs:(Lcom/sun/tools/hat/internal/model/JavaThing;)Z
ifeq 12
iconst_0
goto 13
StackMap locals:
StackMap stack:
12: iconst_1
StackMap locals:
StackMap stack: int
13: istore 4
end local 7 start local 4 14: StackMap locals: com.sun.tools.hat.internal.model.Snapshot com.sun.tools.hat.internal.model.Snapshot com.sun.tools.hat.internal.model.JavaHeapObject java.util.Iterator int long
StackMap stack:
aload 2
iload 4
invokevirtual com.sun.tools.hat.internal.model.JavaHeapObject.setNew:(Z)V
end local 5 end local 4 end local 2 15: StackMap locals: com.sun.tools.hat.internal.model.Snapshot com.sun.tools.hat.internal.model.Snapshot top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
16: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lcom/sun/tools/hat/internal/model/Snapshot;
0 17 1 baseline Lcom/sun/tools/hat/internal/model/Snapshot;
3 15 2 t Lcom/sun/tools/hat/internal/model/JavaHeapObject;
6 7 4 isNew Z
10 11 4 isNew Z
14 15 4 isNew Z
4 15 5 thingID J
8 14 7 other Lcom/sun/tools/hat/internal/model/JavaThing;
MethodParameters:
Name Flags
baseline
public java.util.Enumeration<com.sun.tools.hat.internal.model.JavaHeapObject> getThings();
descriptor: ()Ljava/util/Enumeration;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.hat.internal.model.Snapshot.heapObjects:Ljava/util/Hashtable;
invokevirtual java.util.Hashtable.elements:()Ljava/util/Enumeration;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/hat/internal/model/Snapshot;
Signature: ()Ljava/util/Enumeration<Lcom/sun/tools/hat/internal/model/JavaHeapObject;>;
public com.sun.tools.hat.internal.model.JavaHeapObject findThing(long);
descriptor: (J)Lcom/sun/tools/hat/internal/model/JavaHeapObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 0
lload 1
invokevirtual com.sun.tools.hat.internal.model.Snapshot.makeId:(J)Ljava/lang/Number;
astore 3
start local 3 1: aload 0
getfield com.sun.tools.hat.internal.model.Snapshot.heapObjects:Ljava/util/Hashtable;
aload 3
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.sun.tools.hat.internal.model.JavaHeapObject
astore 4
start local 4 2: aload 4
ifnull 3
aload 4
goto 4
StackMap locals: java.lang.Number com.sun.tools.hat.internal.model.JavaHeapObject
StackMap stack:
3: aload 0
getfield com.sun.tools.hat.internal.model.Snapshot.fakeClasses:Ljava/util/Hashtable;
aload 3
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.sun.tools.hat.internal.model.JavaHeapObject
StackMap locals:
StackMap stack: com.sun.tools.hat.internal.model.JavaHeapObject
4: areturn
end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/tools/hat/internal/model/Snapshot;
0 5 1 id J
1 5 3 idObj Ljava/lang/Number;
2 5 4 jho Lcom/sun/tools/hat/internal/model/JavaHeapObject;
MethodParameters:
Name Flags
id
public com.sun.tools.hat.internal.model.JavaHeapObject findThing(java.lang.String);
descriptor: (Ljava/lang/String;)Lcom/sun/tools/hat/internal/model/JavaHeapObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic com.sun.tools.hat.internal.util.Misc.parseHex:(Ljava/lang/String;)J
invokevirtual com.sun.tools.hat.internal.model.Snapshot.findThing:(J)Lcom/sun/tools/hat/internal/model/JavaHeapObject;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/hat/internal/model/Snapshot;
0 1 1 id Ljava/lang/String;
MethodParameters:
Name Flags
id
public com.sun.tools.hat.internal.model.JavaClass findClass(java.lang.String);
descriptor: (Ljava/lang/String;)Lcom/sun/tools/hat/internal/model/JavaClass;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ldc "0x"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 2
1: aload 0
aload 1
invokevirtual com.sun.tools.hat.internal.model.Snapshot.findThing:(Ljava/lang/String;)Lcom/sun/tools/hat/internal/model/JavaHeapObject;
checkcast com.sun.tools.hat.internal.model.JavaClass
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.hat.internal.model.Snapshot.classes:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.sun.tools.hat.internal.model.JavaClass
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/tools/hat/internal/model/Snapshot;
0 3 1 name Ljava/lang/String;
MethodParameters:
Name Flags
name
public java.util.Iterator getClasses();
descriptor: ()Ljava/util/Iterator;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.hat.internal.model.Snapshot.classes:Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/hat/internal/model/Snapshot;
public com.sun.tools.hat.internal.model.JavaClass[] getClassesArray();
descriptor: ()[Lcom/sun/tools/hat/internal/model/JavaClass;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.hat.internal.model.Snapshot.classes:Ljava/util/Map;
invokeinterface java.util.Map.size:()I
anewarray com.sun.tools.hat.internal.model.JavaClass
astore 1
start local 1 1: aload 0
getfield com.sun.tools.hat.internal.model.Snapshot.classes:Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
aload 1
invokeinterface java.util.Collection.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
pop
2: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/tools/hat/internal/model/Snapshot;
1 3 1 res [Lcom/sun/tools/hat/internal/model/JavaClass;
public synchronized java.util.Enumeration getFinalizerObjects();
descriptor: ()Ljava/util/Enumeration;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=4, locals=9, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.hat.internal.model.Snapshot.finalizablesCache:Ljava/lang/ref/SoftReference;
ifnull 4
1: aload 0
getfield com.sun.tools.hat.internal.model.Snapshot.finalizablesCache:Ljava/lang/ref/SoftReference;
invokevirtual java.lang.ref.SoftReference.get:()Ljava/lang/Object;
checkcast java.util.Vector
dup
astore 1
start local 1 2: ifnull 4
3: aload 1
invokevirtual java.util.Vector.elements:()Ljava/util/Enumeration;
areturn
end local 1 4: StackMap locals:
StackMap stack:
aload 0
ldc "java.lang.ref.Finalizer"
invokevirtual com.sun.tools.hat.internal.model.Snapshot.findClass:(Ljava/lang/String;)Lcom/sun/tools/hat/internal/model/JavaClass;
astore 2
start local 2 5: aload 2
ldc "queue"
invokevirtual com.sun.tools.hat.internal.model.JavaClass.getStaticField:(Ljava/lang/String;)Lcom/sun/tools/hat/internal/model/JavaThing;
checkcast com.sun.tools.hat.internal.model.JavaObject
astore 3
start local 3 6: aload 3
ldc "head"
invokevirtual com.sun.tools.hat.internal.model.JavaObject.getField:(Ljava/lang/String;)Lcom/sun/tools/hat/internal/model/JavaThing;
astore 4
start local 4 7: new java.util.Vector
dup
invokespecial java.util.Vector.<init>:()V
astore 5
start local 5 8: aload 4
aload 0
invokevirtual com.sun.tools.hat.internal.model.Snapshot.getNullThing:()Lcom/sun/tools/hat/internal/model/JavaThing;
if_acmpeq 17
9: aload 4
checkcast com.sun.tools.hat.internal.model.JavaObject
astore 6
start local 6 10: StackMap locals: com.sun.tools.hat.internal.model.Snapshot top com.sun.tools.hat.internal.model.JavaClass com.sun.tools.hat.internal.model.JavaObject com.sun.tools.hat.internal.model.JavaThing java.util.Vector com.sun.tools.hat.internal.model.JavaObject
StackMap stack:
aload 6
ldc "referent"
invokevirtual com.sun.tools.hat.internal.model.JavaObject.getField:(Ljava/lang/String;)Lcom/sun/tools/hat/internal/model/JavaThing;
checkcast com.sun.tools.hat.internal.model.JavaHeapObject
astore 7
start local 7 11: aload 6
ldc "next"
invokevirtual com.sun.tools.hat.internal.model.JavaObject.getField:(Ljava/lang/String;)Lcom/sun/tools/hat/internal/model/JavaThing;
astore 8
start local 8 12: aload 8
aload 0
invokevirtual com.sun.tools.hat.internal.model.Snapshot.getNullThing:()Lcom/sun/tools/hat/internal/model/JavaThing;
if_acmpeq 17
aload 8
aload 6
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 14
13: goto 17
14: StackMap locals: com.sun.tools.hat.internal.model.JavaHeapObject com.sun.tools.hat.internal.model.JavaThing
StackMap stack:
aload 8
checkcast com.sun.tools.hat.internal.model.JavaObject
astore 6
15: aload 5
aload 7
invokevirtual java.util.Vector.add:(Ljava/lang/Object;)Z
pop
end local 8 end local 7 16: goto 10
end local 6 17: StackMap locals:
StackMap stack:
aload 0
new java.lang.ref.SoftReference
dup
aload 5
invokespecial java.lang.ref.SoftReference.<init>:(Ljava/lang/Object;)V
putfield com.sun.tools.hat.internal.model.Snapshot.finalizablesCache:Ljava/lang/ref/SoftReference;
18: aload 5
invokevirtual java.util.Vector.elements:()Ljava/util/Enumeration;
areturn
end local 5 end local 4 end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lcom/sun/tools/hat/internal/model/Snapshot;
2 4 1 obj Ljava/util/Vector;
5 19 2 clazz Lcom/sun/tools/hat/internal/model/JavaClass;
6 19 3 queue Lcom/sun/tools/hat/internal/model/JavaObject;
7 19 4 tmp Lcom/sun/tools/hat/internal/model/JavaThing;
8 19 5 finalizables Ljava/util/Vector<Lcom/sun/tools/hat/internal/model/JavaHeapObject;>;
10 17 6 head Lcom/sun/tools/hat/internal/model/JavaObject;
11 16 7 referent Lcom/sun/tools/hat/internal/model/JavaHeapObject;
12 16 8 next Lcom/sun/tools/hat/internal/model/JavaThing;
public java.util.Enumeration<com.sun.tools.hat.internal.model.Root> getRoots();
descriptor: ()Ljava/util/Enumeration;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.hat.internal.model.Snapshot.roots:Ljava/util/Vector;
invokevirtual java.util.Vector.elements:()Ljava/util/Enumeration;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/hat/internal/model/Snapshot;
Signature: ()Ljava/util/Enumeration<Lcom/sun/tools/hat/internal/model/Root;>;
public com.sun.tools.hat.internal.model.Root[] getRootsArray();
descriptor: ()[Lcom/sun/tools/hat/internal/model/Root;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.hat.internal.model.Snapshot.roots:Ljava/util/Vector;
invokevirtual java.util.Vector.size:()I
anewarray com.sun.tools.hat.internal.model.Root
astore 1
start local 1 1: aload 0
getfield com.sun.tools.hat.internal.model.Snapshot.roots:Ljava/util/Vector;
aload 1
invokevirtual java.util.Vector.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
pop
2: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/tools/hat/internal/model/Snapshot;
1 3 1 res [Lcom/sun/tools/hat/internal/model/Root;
public com.sun.tools.hat.internal.model.Root getRootAt(int);
descriptor: (I)Lcom/sun/tools/hat/internal/model/Root;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.tools.hat.internal.model.Snapshot.roots:Ljava/util/Vector;
iload 1
invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
checkcast com.sun.tools.hat.internal.model.Root
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/hat/internal/model/Snapshot;
0 1 1 i I
MethodParameters:
Name Flags
i
public com.sun.tools.hat.internal.model.ReferenceChain[] rootsetReferencesTo(com.sun.tools.hat.internal.model.JavaHeapObject, boolean);
descriptor: (Lcom/sun/tools/hat/internal/model/JavaHeapObject;Z)[Lcom/sun/tools/hat/internal/model/ReferenceChain;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=10, args_size=3
start local 0 start local 1 start local 2 0: new java.util.Vector
dup
invokespecial java.util.Vector.<init>:()V
astore 3
start local 3 1: new java.util.Hashtable
dup
invokespecial java.util.Hashtable.<init>:()V
astore 4
start local 4 2: new java.util.Vector
dup
invokespecial java.util.Vector.<init>:()V
astore 5
start local 5 3: aload 4
aload 1
aload 1
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: aload 3
new com.sun.tools.hat.internal.model.ReferenceChain
dup
aload 1
aconst_null
invokespecial com.sun.tools.hat.internal.model.ReferenceChain.<init>:(Lcom/sun/tools/hat/internal/model/JavaHeapObject;Lcom/sun/tools/hat/internal/model/ReferenceChain;)V
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
5: goto 19
6: StackMap locals: java.util.Vector java.util.Hashtable java.util.Vector
StackMap stack:
aload 3
iconst_0
invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
checkcast com.sun.tools.hat.internal.model.ReferenceChain
astore 6
start local 6 7: aload 3
iconst_0
invokevirtual java.util.Vector.removeElementAt:(I)V
8: aload 6
invokevirtual com.sun.tools.hat.internal.model.ReferenceChain.getObj:()Lcom/sun/tools/hat/internal/model/JavaHeapObject;
astore 7
start local 7 9: aload 7
invokevirtual com.sun.tools.hat.internal.model.JavaHeapObject.getRoot:()Lcom/sun/tools/hat/internal/model/Root;
ifnull 11
10: aload 5
aload 6
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
11: StackMap locals: com.sun.tools.hat.internal.model.ReferenceChain com.sun.tools.hat.internal.model.JavaHeapObject
StackMap stack:
aload 7
invokevirtual com.sun.tools.hat.internal.model.JavaHeapObject.getReferers:()Ljava/util/Enumeration;
astore 8
start local 8 12: goto 18
13: StackMap locals: java.util.Enumeration
StackMap stack:
aload 8
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast com.sun.tools.hat.internal.model.JavaHeapObject
astore 9
start local 9 14: aload 9
ifnull 18
aload 4
aload 9
invokevirtual java.util.Hashtable.containsKey:(Ljava/lang/Object;)Z
ifne 18
15: iload 2
ifne 16
aload 9
aload 0
aload 7
invokevirtual com.sun.tools.hat.internal.model.JavaHeapObject.refersOnlyWeaklyTo:(Lcom/sun/tools/hat/internal/model/Snapshot;Lcom/sun/tools/hat/internal/model/JavaThing;)Z
ifne 18
16: StackMap locals: com.sun.tools.hat.internal.model.JavaHeapObject
StackMap stack:
aload 4
aload 9
aload 9
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
17: aload 3
new com.sun.tools.hat.internal.model.ReferenceChain
dup
aload 9
aload 6
invokespecial com.sun.tools.hat.internal.model.ReferenceChain.<init>:(Lcom/sun/tools/hat/internal/model/JavaHeapObject;Lcom/sun/tools/hat/internal/model/ReferenceChain;)V
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
end local 9 18: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 13
end local 8 end local 7 end local 6 19: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.util.Vector.size:()I
ifgt 6
20: aload 5
invokevirtual java.util.Vector.size:()I
anewarray com.sun.tools.hat.internal.model.ReferenceChain
astore 6
start local 6 21: iconst_0
istore 7
start local 7 22: goto 25
23: StackMap locals: com.sun.tools.hat.internal.model.ReferenceChain[] int
StackMap stack:
aload 6
iload 7
aload 5
iload 7
invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
checkcast com.sun.tools.hat.internal.model.ReferenceChain
aastore
24: iinc 7 1
StackMap locals:
StackMap stack:
25: iload 7
aload 5
invokevirtual java.util.Vector.size:()I
if_icmplt 23
end local 7 26: aload 6
areturn
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 27 0 this Lcom/sun/tools/hat/internal/model/Snapshot;
0 27 1 target Lcom/sun/tools/hat/internal/model/JavaHeapObject;
0 27 2 includeWeak Z
1 27 3 fifo Ljava/util/Vector<Lcom/sun/tools/hat/internal/model/ReferenceChain;>;
2 27 4 visited Ljava/util/Hashtable<Lcom/sun/tools/hat/internal/model/JavaHeapObject;Lcom/sun/tools/hat/internal/model/JavaHeapObject;>;
3 27 5 result Ljava/util/Vector<Lcom/sun/tools/hat/internal/model/ReferenceChain;>;
7 19 6 chain Lcom/sun/tools/hat/internal/model/ReferenceChain;
9 19 7 curr Lcom/sun/tools/hat/internal/model/JavaHeapObject;
12 19 8 referers Ljava/util/Enumeration;
14 18 9 t Lcom/sun/tools/hat/internal/model/JavaHeapObject;
21 27 6 realResult [Lcom/sun/tools/hat/internal/model/ReferenceChain;
22 26 7 i I
MethodParameters:
Name Flags
target
includeWeak
public boolean getUnresolvedObjectsOK();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.hat.internal.model.Snapshot.unresolvedObjectsOK:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/hat/internal/model/Snapshot;
public void setUnresolvedObjectsOK(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield com.sun.tools.hat.internal.model.Snapshot.unresolvedObjectsOK:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/tools/hat/internal/model/Snapshot;
0 2 1 v Z
MethodParameters:
Name Flags
v
public com.sun.tools.hat.internal.model.JavaClass getWeakReferenceClass();
descriptor: ()Lcom/sun/tools/hat/internal/model/JavaClass;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.hat.internal.model.Snapshot.weakReferenceClass:Lcom/sun/tools/hat/internal/model/JavaClass;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/hat/internal/model/Snapshot;
public int getReferentFieldIndex();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.hat.internal.model.Snapshot.referentFieldIndex:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/hat/internal/model/Snapshot;
public com.sun.tools.hat.internal.model.JavaThing getNullThing();
descriptor: ()Lcom/sun/tools/hat/internal/model/JavaThing;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.hat.internal.model.Snapshot.nullThing:Lcom/sun/tools/hat/internal/model/JavaThing;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/hat/internal/model/Snapshot;
public void setReachableExcludes(com.sun.tools.hat.internal.model.ReachableExcludes);
descriptor: (Lcom/sun/tools/hat/internal/model/ReachableExcludes;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield com.sun.tools.hat.internal.model.Snapshot.reachableExcludes:Lcom/sun/tools/hat/internal/model/ReachableExcludes;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/tools/hat/internal/model/Snapshot;
0 2 1 e Lcom/sun/tools/hat/internal/model/ReachableExcludes;
MethodParameters:
Name Flags
e
public com.sun.tools.hat.internal.model.ReachableExcludes getReachableExcludes();
descriptor: ()Lcom/sun/tools/hat/internal/model/ReachableExcludes;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.hat.internal.model.Snapshot.reachableExcludes:Lcom/sun/tools/hat/internal/model/ReachableExcludes;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/hat/internal/model/Snapshot;
void addReferenceFromRoot(com.sun.tools.hat.internal.model.Root, com.sun.tools.hat.internal.model.JavaHeapObject);
descriptor: (Lcom/sun/tools/hat/internal/model/Root;Lcom/sun/tools/hat/internal/model/JavaHeapObject;)V
flags: (0x0000)
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.sun.tools.hat.internal.model.Snapshot.rootsMap:Ljava/util/Map;
aload 2
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.sun.tools.hat.internal.model.Root
astore 3
start local 3 1: aload 3
ifnonnull 4
2: aload 0
getfield com.sun.tools.hat.internal.model.Snapshot.rootsMap:Ljava/util/Map;
aload 2
aload 1
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
3: goto 5
4: StackMap locals: com.sun.tools.hat.internal.model.Root
StackMap stack:
aload 0
getfield com.sun.tools.hat.internal.model.Snapshot.rootsMap:Ljava/util/Map;
aload 2
aload 3
aload 1
invokevirtual com.sun.tools.hat.internal.model.Root.mostInteresting:(Lcom/sun/tools/hat/internal/model/Root;)Lcom/sun/tools/hat/internal/model/Root;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
5: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/tools/hat/internal/model/Snapshot;
0 6 1 r Lcom/sun/tools/hat/internal/model/Root;
0 6 2 obj Lcom/sun/tools/hat/internal/model/JavaHeapObject;
1 6 3 root Lcom/sun/tools/hat/internal/model/Root;
MethodParameters:
Name Flags
r
obj
com.sun.tools.hat.internal.model.Root getRoot(com.sun.tools.hat.internal.model.JavaHeapObject);
descriptor: (Lcom/sun/tools/hat/internal/model/JavaHeapObject;)Lcom/sun/tools/hat/internal/model/Root;
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.tools.hat.internal.model.Snapshot.rootsMap:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.sun.tools.hat.internal.model.Root
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/hat/internal/model/Snapshot;
0 1 1 obj Lcom/sun/tools/hat/internal/model/JavaHeapObject;
MethodParameters:
Name Flags
obj
com.sun.tools.hat.internal.model.JavaClass getJavaLangClass();
descriptor: ()Lcom/sun/tools/hat/internal/model/JavaClass;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.hat.internal.model.Snapshot.javaLangClass:Lcom/sun/tools/hat/internal/model/JavaClass;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/hat/internal/model/Snapshot;
com.sun.tools.hat.internal.model.JavaClass getJavaLangString();
descriptor: ()Lcom/sun/tools/hat/internal/model/JavaClass;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.hat.internal.model.Snapshot.javaLangString:Lcom/sun/tools/hat/internal/model/JavaClass;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/hat/internal/model/Snapshot;
com.sun.tools.hat.internal.model.JavaClass getJavaLangClassLoader();
descriptor: ()Lcom/sun/tools/hat/internal/model/JavaClass;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.hat.internal.model.Snapshot.javaLangClassLoader:Lcom/sun/tools/hat/internal/model/JavaClass;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/hat/internal/model/Snapshot;
com.sun.tools.hat.internal.model.JavaClass getOtherArrayType();
descriptor: ()Lcom/sun/tools/hat/internal/model/JavaClass;
flags: (0x0000)
Code:
stack=15, locals=2, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.hat.internal.model.Snapshot.otherArrayType:Lcom/sun/tools/hat/internal/model/JavaClass;
ifnonnull 12
1: aload 0
dup
astore 1
monitorenter
2: aload 0
getfield com.sun.tools.hat.internal.model.Snapshot.otherArrayType:Lcom/sun/tools/hat/internal/model/JavaClass;
ifnonnull 8
3: aload 0
new com.sun.tools.hat.internal.model.JavaClass
dup
ldc "[<other>"
lconst_0
lconst_0
lconst_0
lconst_0
4: getstatic com.sun.tools.hat.internal.model.Snapshot.EMPTY_FIELD_ARRAY:[Lcom/sun/tools/hat/internal/model/JavaField;
getstatic com.sun.tools.hat.internal.model.Snapshot.EMPTY_STATIC_ARRAY:[Lcom/sun/tools/hat/internal/model/JavaStatic;
5: iconst_0
invokespecial com.sun.tools.hat.internal.model.JavaClass.<init>:(Ljava/lang/String;JJJJ[Lcom/sun/tools/hat/internal/model/JavaField;[Lcom/sun/tools/hat/internal/model/JavaStatic;I)V
6: invokevirtual com.sun.tools.hat.internal.model.Snapshot.addFakeClass:(Lcom/sun/tools/hat/internal/model/JavaClass;)V
7: aload 0
aload 0
ldc "[<other>"
invokevirtual com.sun.tools.hat.internal.model.Snapshot.findClass:(Ljava/lang/String;)Lcom/sun/tools/hat/internal/model/JavaClass;
putfield com.sun.tools.hat.internal.model.Snapshot.otherArrayType:Lcom/sun/tools/hat/internal/model/JavaClass;
8: StackMap locals: com.sun.tools.hat.internal.model.Snapshot
StackMap stack:
aload 1
monitorexit
9: goto 12
StackMap locals:
StackMap stack: java.lang.Throwable
10: aload 1
monitorexit
11: athrow
12: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.hat.internal.model.Snapshot.otherArrayType:Lcom/sun/tools/hat/internal/model/JavaClass;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/sun/tools/hat/internal/model/Snapshot;
Exception table:
from to target type
2 9 10 any
10 11 10 any
com.sun.tools.hat.internal.model.JavaClass getArrayClass(java.lang.String);
descriptor: (Ljava/lang/String;)Lcom/sun/tools/hat/internal/model/JavaClass;
flags: (0x0000)
Code:
stack=14, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.tools.hat.internal.model.Snapshot.classes:Ljava/util/Map;
dup
astore 3
monitorenter
1: aload 0
new java.lang.StringBuilder
dup
ldc "["
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 com.sun.tools.hat.internal.model.Snapshot.findClass:(Ljava/lang/String;)Lcom/sun/tools/hat/internal/model/JavaClass;
astore 2
start local 2 2: aload 2
ifnonnull 7
3: new com.sun.tools.hat.internal.model.JavaClass
dup
new java.lang.StringBuilder
dup
ldc "["
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;
lconst_0
lconst_0
lconst_0
lconst_0
4: getstatic com.sun.tools.hat.internal.model.Snapshot.EMPTY_FIELD_ARRAY:[Lcom/sun/tools/hat/internal/model/JavaField;
getstatic com.sun.tools.hat.internal.model.Snapshot.EMPTY_STATIC_ARRAY:[Lcom/sun/tools/hat/internal/model/JavaStatic;
iconst_0
5: invokespecial com.sun.tools.hat.internal.model.JavaClass.<init>:(Ljava/lang/String;JJJJ[Lcom/sun/tools/hat/internal/model/JavaField;[Lcom/sun/tools/hat/internal/model/JavaStatic;I)V
astore 2
6: aload 0
aload 2
invokevirtual com.sun.tools.hat.internal.model.Snapshot.addFakeClass:(Lcom/sun/tools/hat/internal/model/JavaClass;)V
7: StackMap locals: com.sun.tools.hat.internal.model.JavaClass java.util.Map
StackMap stack:
aload 3
monitorexit
8: goto 11
end local 2 StackMap locals: com.sun.tools.hat.internal.model.Snapshot java.lang.String top java.util.Map
StackMap stack: java.lang.Throwable
9: aload 3
monitorexit
10: athrow
start local 2 11: StackMap locals: com.sun.tools.hat.internal.model.Snapshot java.lang.String com.sun.tools.hat.internal.model.JavaClass
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/sun/tools/hat/internal/model/Snapshot;
0 12 1 elementSignature Ljava/lang/String;
2 9 2 clazz Lcom/sun/tools/hat/internal/model/JavaClass;
11 12 2 clazz Lcom/sun/tools/hat/internal/model/JavaClass;
Exception table:
from to target type
1 8 9 any
9 10 9 any
MethodParameters:
Name Flags
elementSignature
com.sun.tools.hat.internal.parser.ReadBuffer getReadBuffer();
descriptor: ()Lcom/sun/tools/hat/internal/parser/ReadBuffer;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.hat.internal.model.Snapshot.readBuf:Lcom/sun/tools/hat/internal/parser/ReadBuffer;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/hat/internal/model/Snapshot;
void setNew(com.sun.tools.hat.internal.model.JavaHeapObject, boolean);
descriptor: (Lcom/sun/tools/hat/internal/model/JavaHeapObject;Z)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual com.sun.tools.hat.internal.model.Snapshot.initNewObjects:()V
1: iload 2
ifeq 3
2: aload 0
getfield com.sun.tools.hat.internal.model.Snapshot.newObjects:Ljava/util/Map;
aload 1
getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
3: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/tools/hat/internal/model/Snapshot;
0 4 1 obj Lcom/sun/tools/hat/internal/model/JavaHeapObject;
0 4 2 isNew Z
MethodParameters:
Name Flags
obj
isNew
boolean isNew(com.sun.tools.hat.internal.model.JavaHeapObject);
descriptor: (Lcom/sun/tools/hat/internal/model/JavaHeapObject;)Z
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.tools.hat.internal.model.Snapshot.newObjects:Ljava/util/Map;
ifnull 3
1: aload 0
getfield com.sun.tools.hat.internal.model.Snapshot.newObjects:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
ifnull 2
iconst_1
ireturn
StackMap locals:
StackMap stack:
2: iconst_0
ireturn
3: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/tools/hat/internal/model/Snapshot;
0 4 1 obj Lcom/sun/tools/hat/internal/model/JavaHeapObject;
MethodParameters:
Name Flags
obj
private java.lang.Number makeId(long);
descriptor: (J)Ljava/lang/Number;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.tools.hat.internal.model.Snapshot.identifierSize:I
iconst_4
if_icmpne 2
1: new java.lang.Integer
dup
lload 1
l2i
invokespecial java.lang.Integer.<init>:(I)V
areturn
2: StackMap locals:
StackMap stack:
new java.lang.Long
dup
lload 1
invokespecial java.lang.Long.<init>:(J)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/tools/hat/internal/model/Snapshot;
0 3 1 id J
MethodParameters:
Name Flags
id
private void putInClassesMap(com.sun.tools.hat.internal.model.JavaClass);
descriptor: (Lcom/sun/tools/hat/internal/model/JavaClass;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.sun.tools.hat.internal.model.JavaClass.getName:()Ljava/lang/String;
astore 2
start local 2 1: aload 0
getfield com.sun.tools.hat.internal.model.Snapshot.classes:Ljava/util/Map;
aload 2
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifeq 3
2: new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "-"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual com.sun.tools.hat.internal.model.JavaClass.getIdString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
3: StackMap locals: java.lang.String
StackMap stack:
aload 0
getfield com.sun.tools.hat.internal.model.Snapshot.classes:Ljava/util/Map;
aload 1
invokevirtual com.sun.tools.hat.internal.model.JavaClass.getName:()Ljava/lang/String;
aload 1
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/tools/hat/internal/model/Snapshot;
0 5 1 c Lcom/sun/tools/hat/internal/model/JavaClass;
1 5 2 name Ljava/lang/String;
MethodParameters:
Name Flags
c
private void addFakeClass(com.sun.tools.hat.internal.model.JavaClass);
descriptor: (Lcom/sun/tools/hat/internal/model/JavaClass;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.sun.tools.hat.internal.model.Snapshot.putInClassesMap:(Lcom/sun/tools/hat/internal/model/JavaClass;)V
1: aload 1
aload 0
invokevirtual com.sun.tools.hat.internal.model.JavaClass.resolve:(Lcom/sun/tools/hat/internal/model/Snapshot;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/tools/hat/internal/model/Snapshot;
0 3 1 c Lcom/sun/tools/hat/internal/model/JavaClass;
MethodParameters:
Name Flags
c
private void addFakeClass(java.lang.Number, com.sun.tools.hat.internal.model.JavaClass);
descriptor: (Ljava/lang/Number;Lcom/sun/tools/hat/internal/model/JavaClass;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.sun.tools.hat.internal.model.Snapshot.fakeClasses:Ljava/util/Hashtable;
aload 1
aload 2
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 0
aload 2
invokevirtual com.sun.tools.hat.internal.model.Snapshot.addFakeClass:(Lcom/sun/tools/hat/internal/model/JavaClass;)V
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/tools/hat/internal/model/Snapshot;
0 3 1 id Ljava/lang/Number;
0 3 2 c Lcom/sun/tools/hat/internal/model/JavaClass;
MethodParameters:
Name Flags
id
c
private synchronized void initNewObjects();
descriptor: ()V
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.hat.internal.model.Snapshot.newObjects:Ljava/util/Map;
ifnonnull 8
1: aload 0
dup
astore 1
monitorenter
2: aload 0
getfield com.sun.tools.hat.internal.model.Snapshot.newObjects:Ljava/util/Map;
ifnonnull 4
3: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield com.sun.tools.hat.internal.model.Snapshot.newObjects:Ljava/util/Map;
4: StackMap locals: com.sun.tools.hat.internal.model.Snapshot
StackMap stack:
aload 1
monitorexit
5: goto 8
StackMap locals:
StackMap stack: java.lang.Throwable
6: aload 1
monitorexit
7: athrow
8: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/sun/tools/hat/internal/model/Snapshot;
Exception table:
from to target type
2 5 6 any
6 7 6 any
private synchronized void initSiteTraces();
descriptor: ()V
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.hat.internal.model.Snapshot.siteTraces:Ljava/util/Map;
ifnonnull 8
1: aload 0
dup
astore 1
monitorenter
2: aload 0
getfield com.sun.tools.hat.internal.model.Snapshot.siteTraces:Ljava/util/Map;
ifnonnull 4
3: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield com.sun.tools.hat.internal.model.Snapshot.siteTraces:Ljava/util/Map;
4: StackMap locals: com.sun.tools.hat.internal.model.Snapshot
StackMap stack:
aload 1
monitorexit
5: goto 8
StackMap locals:
StackMap stack: java.lang.Throwable
6: aload 1
monitorexit
7: athrow
8: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/sun/tools/hat/internal/model/Snapshot;
Exception table:
from to target type
2 5 6 any
6 7 6 any
}
SourceFile: "Snapshot.java"
NestMembers:
com.sun.tools.hat.internal.model.Snapshot$MyVisitor
InnerClasses:
private MyVisitor = com.sun.tools.hat.internal.model.Snapshot$MyVisitor of com.sun.tools.hat.internal.model.Snapshot