public class com.sun.tools.hat.internal.parser.HprofReader extends com.sun.tools.hat.internal.parser.Reader implements com.sun.tools.hat.internal.model.ArrayTypeCodes
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.tools.hat.internal.parser.HprofReader
  super_class: com.sun.tools.hat.internal.parser.Reader
{
  static final int MAGIC_NUMBER;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 1245795905

  private static final java.lang.String[] VERSIONS;
    descriptor: [Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final int VERSION_JDK12BETA3;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  private static final int VERSION_JDK12BETA4;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private static final int VERSION_JDK6;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  static final int HPROF_UTF8;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  static final int HPROF_LOAD_CLASS;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  static final int HPROF_UNLOAD_CLASS;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  static final int HPROF_FRAME;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  static final int HPROF_TRACE;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 5

  static final int HPROF_ALLOC_SITES;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 6

  static final int HPROF_HEAP_SUMMARY;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 7

  static final int HPROF_START_THREAD;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 10

  static final int HPROF_END_THREAD;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 11

  static final int HPROF_HEAP_DUMP;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 12

  static final int HPROF_CPU_SAMPLES;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 13

  static final int HPROF_CONTROL_SETTINGS;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 14

  static final int HPROF_LOCKSTATS_WAIT_TIME;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 16

  static final int HPROF_LOCKSTATS_HOLD_TIME;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 17

  static final int HPROF_GC_ROOT_UNKNOWN;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 255

  static final int HPROF_GC_ROOT_JNI_GLOBAL;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  static final int HPROF_GC_ROOT_JNI_LOCAL;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  static final int HPROF_GC_ROOT_JAVA_FRAME;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  static final int HPROF_GC_ROOT_NATIVE_STACK;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  static final int HPROF_GC_ROOT_STICKY_CLASS;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 5

  static final int HPROF_GC_ROOT_THREAD_BLOCK;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 6

  static final int HPROF_GC_ROOT_MONITOR_USED;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 7

  static final int HPROF_GC_ROOT_THREAD_OBJ;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  static final int HPROF_GC_CLASS_DUMP;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 32

  static final int HPROF_GC_INSTANCE_DUMP;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 33

  static final int HPROF_GC_OBJ_ARRAY_DUMP;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 34

  static final int HPROF_GC_PRIM_ARRAY_DUMP;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 35

  static final int HPROF_HEAP_DUMP_SEGMENT;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 28

  static final int HPROF_HEAP_DUMP_END;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 44

  private static final int T_CLASS;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  private int version;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int debugLevel;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private long currPos;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private int dumpsToSkip;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private boolean callStack;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private int identifierSize;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private java.util.Hashtable<java.lang.Long, java.lang.String> names;
    descriptor: Ljava/util/Hashtable;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Hashtable<Ljava/lang/Long;Ljava/lang/String;>;

  private java.util.Hashtable<java.lang.Integer, com.sun.tools.hat.internal.parser.HprofReader$ThreadObject> threadObjects;
    descriptor: Ljava/util/Hashtable;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Hashtable<Ljava/lang/Integer;Lcom/sun/tools/hat/internal/parser/HprofReader$ThreadObject;>;

  private java.util.Hashtable<java.lang.Long, java.lang.String> classNameFromObjectID;
    descriptor: Ljava/util/Hashtable;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Hashtable<Ljava/lang/Long;Ljava/lang/String;>;

  private java.util.Hashtable<java.lang.Integer, java.lang.String> classNameFromSerialNo;
    descriptor: Ljava/util/Hashtable;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Hashtable<Ljava/lang/Integer;Ljava/lang/String;>;

  private java.util.Hashtable<java.lang.Long, com.sun.tools.hat.internal.model.StackFrame> stackFrames;
    descriptor: Ljava/util/Hashtable;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Hashtable<Ljava/lang/Long;Lcom/sun/tools/hat/internal/model/StackFrame;>;

  private java.util.Hashtable<java.lang.Integer, com.sun.tools.hat.internal.model.StackTrace> stackTraces;
    descriptor: Ljava/util/Hashtable;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Hashtable<Ljava/lang/Integer;Lcom/sun/tools/hat/internal/model/StackTrace;>;

  private com.sun.tools.hat.internal.model.Snapshot snapshot;
    descriptor: Lcom/sun/tools/hat/internal/model/Snapshot;
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 51
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
         1: .line 52
            ldc " PROFILE 1.0\u0000"
            aastore
            dup
            iconst_1
         2: .line 53
            ldc " PROFILE 1.0.1\u0000"
            aastore
            dup
            iconst_2
         3: .line 54
            ldc " PROFILE 1.0.2\u0000"
            aastore
         4: .line 51
            putstatic com.sun.tools.hat.internal.parser.HprofReader.VERSIONS:[Ljava/lang/String;
         5: .line 118
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(java.lang.String, com.sun.tools.hat.internal.parser.PositionDataInputStream, int, boolean, int);
    descriptor: (Ljava/lang/String;Lcom/sun/tools/hat/internal/parser/PositionDataInputStream;IZI)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=6
        start local 0 // com.sun.tools.hat.internal.parser.HprofReader this
        start local 1 // java.lang.String fileName
        start local 2 // com.sun.tools.hat.internal.parser.PositionDataInputStream in
        start local 3 // int dumpNumber
        start local 4 // boolean callStack
        start local 5 // int debugLevel
         0: .line 157
            aload 0 /* this */
            aload 2 /* in */
            invokespecial com.sun.tools.hat.internal.parser.Reader.<init>:(Lcom/sun/tools/hat/internal/parser/PositionDataInputStream;)V
         1: .line 158
            new java.io.RandomAccessFile
            dup
            aload 1 /* fileName */
            ldc "r"
            invokespecial java.io.RandomAccessFile.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 6 /* file */
        start local 6 // java.io.RandomAccessFile file
         2: .line 159
            aload 0 /* this */
            new com.sun.tools.hat.internal.model.Snapshot
            dup
            aload 6 /* file */
            invokestatic com.sun.tools.hat.internal.parser.MappedReadBuffer.create:(Ljava/io/RandomAccessFile;)Lcom/sun/tools/hat/internal/parser/ReadBuffer;
            invokespecial com.sun.tools.hat.internal.model.Snapshot.<init>:(Lcom/sun/tools/hat/internal/parser/ReadBuffer;)V
            putfield com.sun.tools.hat.internal.parser.HprofReader.snapshot:Lcom/sun/tools/hat/internal/model/Snapshot;
         3: .line 160
            aload 0 /* this */
            iload 3 /* dumpNumber */
            iconst_1
            isub
            putfield com.sun.tools.hat.internal.parser.HprofReader.dumpsToSkip:I
         4: .line 161
            aload 0 /* this */
            iload 4 /* callStack */
            putfield com.sun.tools.hat.internal.parser.HprofReader.callStack:Z
         5: .line 162
            aload 0 /* this */
            iload 5 /* debugLevel */
            putfield com.sun.tools.hat.internal.parser.HprofReader.debugLevel:I
         6: .line 163
            aload 0 /* this */
            new java.util.Hashtable
            dup
            invokespecial java.util.Hashtable.<init>:()V
            putfield com.sun.tools.hat.internal.parser.HprofReader.names:Ljava/util/Hashtable;
         7: .line 164
            aload 0 /* this */
            new java.util.Hashtable
            dup
            bipush 43
            invokespecial java.util.Hashtable.<init>:(I)V
            putfield com.sun.tools.hat.internal.parser.HprofReader.threadObjects:Ljava/util/Hashtable;
         8: .line 165
            aload 0 /* this */
            new java.util.Hashtable
            dup
            invokespecial java.util.Hashtable.<init>:()V
            putfield com.sun.tools.hat.internal.parser.HprofReader.classNameFromObjectID:Ljava/util/Hashtable;
         9: .line 166
            iload 4 /* callStack */
            ifeq 13
        10: .line 167
            aload 0 /* this */
            new java.util.Hashtable
            dup
            bipush 43
            invokespecial java.util.Hashtable.<init>:(I)V
            putfield com.sun.tools.hat.internal.parser.HprofReader.stackFrames:Ljava/util/Hashtable;
        11: .line 168
            aload 0 /* this */
            new java.util.Hashtable
            dup
            bipush 43
            invokespecial java.util.Hashtable.<init>:(I)V
            putfield com.sun.tools.hat.internal.parser.HprofReader.stackTraces:Ljava/util/Hashtable;
        12: .line 169
            aload 0 /* this */
            new java.util.Hashtable
            dup
            invokespecial java.util.Hashtable.<init>:()V
            putfield com.sun.tools.hat.internal.parser.HprofReader.classNameFromSerialNo:Ljava/util/Hashtable;
        13: .line 171
      StackMap locals: com.sun.tools.hat.internal.parser.HprofReader java.lang.String com.sun.tools.hat.internal.parser.PositionDataInputStream int int int java.io.RandomAccessFile
      StackMap stack:
            return
        end local 6 // java.io.RandomAccessFile file
        end local 5 // int debugLevel
        end local 4 // boolean callStack
        end local 3 // int dumpNumber
        end local 2 // com.sun.tools.hat.internal.parser.PositionDataInputStream in
        end local 1 // java.lang.String fileName
        end local 0 // com.sun.tools.hat.internal.parser.HprofReader this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   14     0        this  Lcom/sun/tools/hat/internal/parser/HprofReader;
            0   14     1    fileName  Ljava/lang/String;
            0   14     2          in  Lcom/sun/tools/hat/internal/parser/PositionDataInputStream;
            0   14     3  dumpNumber  I
            0   14     4   callStack  Z
            0   14     5  debugLevel  I
            2   14     6        file  Ljava/io/RandomAccessFile;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
            Name  Flags
      fileName    
      in          
      dumpNumber  
      callStack   
      debugLevel  

  public com.sun.tools.hat.internal.model.Snapshot read();
    descriptor: ()Lcom/sun/tools/hat/internal/model/Snapshot;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=12, args_size=1
        start local 0 // com.sun.tools.hat.internal.parser.HprofReader this
         0: .line 174
            aload 0 /* this */
            ldc 4
            putfield com.sun.tools.hat.internal.parser.HprofReader.currPos:J
         1: .line 175
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.readVersionHeader:()I
            putfield com.sun.tools.hat.internal.parser.HprofReader.version:I
         2: .line 176
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.in:Lcom/sun/tools/hat/internal/parser/PositionDataInputStream;
            invokevirtual com.sun.tools.hat.internal.parser.PositionDataInputStream.readInt:()I
            putfield com.sun.tools.hat.internal.parser.HprofReader.identifierSize:I
         3: .line 177
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.snapshot:Lcom/sun/tools/hat/internal/model/Snapshot;
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.identifierSize:I
            invokevirtual com.sun.tools.hat.internal.model.Snapshot.setIdentifierSize:(I)V
         4: .line 178
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.version:I
            iconst_1
            if_icmplt 7
         5: .line 179
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.snapshot:Lcom/sun/tools/hat/internal/model/Snapshot;
            iconst_1
            invokevirtual com.sun.tools.hat.internal.model.Snapshot.setNewStyleArrayClass:(Z)V
         6: .line 180
            goto 8
         7: .line 181
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.snapshot:Lcom/sun/tools/hat/internal/model/Snapshot;
            iconst_0
            invokevirtual com.sun.tools.hat.internal.model.Snapshot.setNewStyleArrayClass:(Z)V
         8: .line 184
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield com.sun.tools.hat.internal.parser.HprofReader.currPos:J
            ldc 4
            ladd
            putfield com.sun.tools.hat.internal.parser.HprofReader.currPos:J
         9: .line 185
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.identifierSize:I
            iconst_4
            if_icmpeq 11
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.identifierSize:I
            bipush 8
            if_icmpeq 11
        10: .line 186
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "I'm sorry, but I can't deal with an identifier size of "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.identifierSize:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ".  I can only deal with 4 or 8."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 188
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Dump file created "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            new java.util.Date
            dup
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.in:Lcom/sun/tools/hat/internal/parser/PositionDataInputStream;
            invokevirtual com.sun.tools.hat.internal.parser.PositionDataInputStream.readLong:()J
            invokespecial java.util.Date.<init>:(J)V
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        12: .line 189
            aload 0 /* this */
            dup
            getfield com.sun.tools.hat.internal.parser.HprofReader.currPos:J
            ldc 8
            ladd
            putfield com.sun.tools.hat.internal.parser.HprofReader.currPos:J
        13: .line 194
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.in:Lcom/sun/tools/hat/internal/parser/PositionDataInputStream;
            invokevirtual com.sun.tools.hat.internal.parser.PositionDataInputStream.readUnsignedByte:()I
            istore 1 /* type */
        start local 1 // int type
        14: .line 195
            goto 17
        end local 1 // int type
      StackMap locals:
      StackMap stack: java.io.EOFException
        15: pop
        16: .line 196
            goto 121
        start local 1 // int type
        17: .line 198
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.in:Lcom/sun/tools/hat/internal/parser/PositionDataInputStream;
            invokevirtual com.sun.tools.hat.internal.parser.PositionDataInputStream.readInt:()I
            pop
        18: .line 201
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.in:Lcom/sun/tools/hat/internal/parser/PositionDataInputStream;
            invokevirtual com.sun.tools.hat.internal.parser.PositionDataInputStream.readInt:()I
            i2l
            ldc 4294967295
            land
            lstore 2 /* length */
        start local 2 // long length
        19: .line 202
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.debugLevel:I
            ifle 24
        20: .line 203
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Read record type "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* type */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        21: .line 204
            ldc ", length "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            lload 2 /* length */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
        22: .line 205
            ldc " at position "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.currPos:J
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.toHex:(J)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        23: .line 203
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        24: .line 207
      StackMap locals: long
      StackMap stack:
            lload 2 /* length */
            lconst_0
            lcmp
            ifge 29
        25: .line 208
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Bad record length of "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 2 /* length */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
        26: .line 209
            ldc " at byte "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.currPos:J
            ldc 5
            ladd
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.toHex:(J)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        27: .line 210
            ldc " of file."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        28: .line 208
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        29: .line 212
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield com.sun.tools.hat.internal.parser.HprofReader.currPos:J
            ldc 9
            lload 2 /* length */
            ladd
            ladd
            putfield com.sun.tools.hat.internal.parser.HprofReader.currPos:J
        30: .line 213
            iload 1 /* type */
            lookupswitch { // 16
                    1: 31
                    2: 36
                    3: 116
                    4: 78
                    5: 98
                    6: 116
                    7: 116
                   10: 116
                   11: 116
                   12: 46
                   13: 116
                   14: 116
                   16: 116
                   17: 116
                   28: 66
                   44: 57
              default: 118
          }
        31: .line 215
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.readID:()J
            lstore 4 /* id */
        start local 4 // long id
        32: .line 216
            lload 2 /* length */
            l2i
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.identifierSize:I
            isub
            newarray 8
            astore 6 /* chars */
        start local 6 // byte[] chars
        33: .line 217
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.in:Lcom/sun/tools/hat/internal/parser/PositionDataInputStream;
            aload 6 /* chars */
            invokevirtual com.sun.tools.hat.internal.parser.PositionDataInputStream.readFully:([B)V
        34: .line 218
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.names:Ljava/util/Hashtable;
            new java.lang.Long
            dup
            lload 4 /* id */
            invokespecial java.lang.Long.<init>:(J)V
            new java.lang.String
            dup
            aload 6 /* chars */
            invokespecial java.lang.String.<init>:([B)V
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        35: .line 219
            goto 13
        end local 6 // byte[] chars
        end local 4 // long id
        36: .line 222
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.in:Lcom/sun/tools/hat/internal/parser/PositionDataInputStream;
            invokevirtual com.sun.tools.hat.internal.parser.PositionDataInputStream.readInt:()I
            istore 4 /* serialNo */
        start local 4 // int serialNo
        37: .line 223
            aload 0 /* this */
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.readID:()J
            lstore 5 /* classID */
        start local 5 // long classID
        38: .line 224
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.in:Lcom/sun/tools/hat/internal/parser/PositionDataInputStream;
            invokevirtual com.sun.tools.hat.internal.parser.PositionDataInputStream.readInt:()I
            pop
        39: .line 225
            aload 0 /* this */
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.readID:()J
            lstore 7 /* classNameID */
        start local 7 // long classNameID
        40: .line 226
            new java.lang.Long
            dup
            lload 5 /* classID */
            invokespecial java.lang.Long.<init>:(J)V
            astore 9 /* classIdI */
        start local 9 // java.lang.Long classIdI
        41: .line 227
            aload 0 /* this */
            lload 7 /* classNameID */
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.getNameFromID:(J)Ljava/lang/String;
            bipush 47
            bipush 46
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            astore 10 /* nm */
        start local 10 // java.lang.String nm
        42: .line 228
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.classNameFromObjectID:Ljava/util/Hashtable;
            aload 9 /* classIdI */
            aload 10 /* nm */
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        43: .line 229
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.classNameFromSerialNo:Ljava/util/Hashtable;
            ifnull 13
        44: .line 230
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.classNameFromSerialNo:Ljava/util/Hashtable;
            new java.lang.Integer
            dup
            iload 4 /* serialNo */
            invokespecial java.lang.Integer.<init>:(I)V
            aload 10 /* nm */
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        45: .line 232
            goto 13
        end local 10 // java.lang.String nm
        end local 9 // java.lang.Long classIdI
        end local 7 // long classNameID
        end local 5 // long classID
        end local 4 // int serialNo
        46: .line 236
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.dumpsToSkip:I
            ifgt 54
        47: .line 238
            aload 0 /* this */
            lload 2 /* length */
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.currPos:J
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.readHeapDump:(JJ)V
        48: .line 239
            goto 51
      StackMap locals:
      StackMap stack: java.io.EOFException
        49: astore 4 /* exp */
        start local 4 // java.io.EOFException exp
        50: .line 240
            aload 0 /* this */
            aload 4 /* exp */
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.snapshot:Lcom/sun/tools/hat/internal/model/Snapshot;
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.handleEOF:(Ljava/io/EOFException;Lcom/sun/tools/hat/internal/model/Snapshot;)V
        end local 4 // java.io.EOFException exp
        51: .line 242
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.debugLevel:I
            ifle 53
        52: .line 243
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "    Finished processing instances in heap dump."
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        53: .line 245
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.snapshot:Lcom/sun/tools/hat/internal/model/Snapshot;
            areturn
        54: .line 247
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield com.sun.tools.hat.internal.parser.HprofReader.dumpsToSkip:I
            iconst_1
            isub
            putfield com.sun.tools.hat.internal.parser.HprofReader.dumpsToSkip:I
        55: .line 248
            aload 0 /* this */
            lload 2 /* length */
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.skipBytes:(J)V
        56: .line 250
            goto 13
        57: .line 254
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.version:I
            iconst_2
            if_icmplt 63
        58: .line 255
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.dumpsToSkip:I
            ifgt 61
        59: .line 256
            aload 0 /* this */
            lload 2 /* length */
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.skipBytes:(J)V
        60: .line 257
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.snapshot:Lcom/sun/tools/hat/internal/model/Snapshot;
            areturn
        61: .line 260
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield com.sun.tools.hat.internal.parser.HprofReader.dumpsToSkip:I
            iconst_1
            isub
            putfield com.sun.tools.hat.internal.parser.HprofReader.dumpsToSkip:I
        62: .line 262
            goto 64
        63: .line 264
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "Ignoring unrecognized record type "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* type */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.warn:(Ljava/lang/String;)V
        64: .line 266
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 2 /* length */
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.skipBytes:(J)V
        65: .line 267
            goto 13
        66: .line 271
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.version:I
            iconst_2
            if_icmplt 75
        67: .line 272
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.dumpsToSkip:I
            ifgt 73
        68: .line 275
            aload 0 /* this */
            lload 2 /* length */
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.currPos:J
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.readHeapDump:(JJ)V
        69: .line 276
            goto 13
      StackMap locals:
      StackMap stack: java.io.EOFException
        70: astore 4 /* exp */
        start local 4 // java.io.EOFException exp
        71: .line 277
            aload 0 /* this */
            aload 4 /* exp */
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.snapshot:Lcom/sun/tools/hat/internal/model/Snapshot;
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.handleEOF:(Ljava/io/EOFException;Lcom/sun/tools/hat/internal/model/Snapshot;)V
        end local 4 // java.io.EOFException exp
        72: .line 279
            goto 13
        73: .line 281
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 2 /* length */
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.skipBytes:(J)V
        74: .line 283
            goto 13
        75: .line 285
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "Ignoring unrecognized record type "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* type */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.warn:(Ljava/lang/String;)V
        76: .line 286
            aload 0 /* this */
            lload 2 /* length */
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.skipBytes:(J)V
        77: .line 288
            goto 13
        78: .line 292
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.stackFrames:Ljava/util/Hashtable;
            ifnonnull 81
        79: .line 293
            aload 0 /* this */
            lload 2 /* length */
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.skipBytes:(J)V
        80: .line 294
            goto 13
        81: .line 295
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.readID:()J
            lstore 4 /* id */
        start local 4 // long id
        82: .line 296
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.readID:()J
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.getNameFromID:(J)Ljava/lang/String;
            astore 6 /* methodName */
        start local 6 // java.lang.String methodName
        83: .line 297
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.readID:()J
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.getNameFromID:(J)Ljava/lang/String;
            astore 7 /* methodSig */
        start local 7 // java.lang.String methodSig
        84: .line 298
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.readID:()J
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.getNameFromID:(J)Ljava/lang/String;
            astore 8 /* sourceFile */
        start local 8 // java.lang.String sourceFile
        85: .line 299
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.in:Lcom/sun/tools/hat/internal/parser/PositionDataInputStream;
            invokevirtual com.sun.tools.hat.internal.parser.PositionDataInputStream.readInt:()I
            istore 9 /* classSer */
        start local 9 // int classSer
        86: .line 300
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.classNameFromSerialNo:Ljava/util/Hashtable;
            new java.lang.Integer
            dup
            iload 9 /* classSer */
            invokespecial java.lang.Integer.<init>:(I)V
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 10 /* className */
        start local 10 // java.lang.String className
        87: .line 301
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.in:Lcom/sun/tools/hat/internal/parser/PositionDataInputStream;
            invokevirtual com.sun.tools.hat.internal.parser.PositionDataInputStream.readInt:()I
            istore 11 /* lineNumber */
        start local 11 // int lineNumber
        88: .line 302
            iload 11 /* lineNumber */
            bipush -3
            if_icmpge 91
        89: .line 303
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "Weird stack frame line number:  "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 11 /* lineNumber */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.warn:(Ljava/lang/String;)V
        90: .line 304
            iconst_m1
            istore 11 /* lineNumber */
        91: .line 306
      StackMap locals: com.sun.tools.hat.internal.parser.HprofReader int long long java.lang.String java.lang.String java.lang.String int java.lang.String int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.stackFrames:Ljava/util/Hashtable;
            new java.lang.Long
            dup
            lload 4 /* id */
            invokespecial java.lang.Long.<init>:(J)V
        92: .line 307
            new com.sun.tools.hat.internal.model.StackFrame
            dup
            aload 6 /* methodName */
            aload 7 /* methodSig */
        93: .line 308
            aload 10 /* className */
            aload 8 /* sourceFile */
        94: .line 309
            iload 11 /* lineNumber */
        95: .line 307
            invokespecial com.sun.tools.hat.internal.model.StackFrame.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
        96: .line 306
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 11 // int lineNumber
        end local 10 // java.lang.String className
        end local 9 // int classSer
        end local 8 // java.lang.String sourceFile
        end local 7 // java.lang.String methodSig
        end local 6 // java.lang.String methodName
        end local 4 // long id
        97: .line 311
            goto 13
        98: .line 314
      StackMap locals: com.sun.tools.hat.internal.parser.HprofReader int long
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.stackTraces:Ljava/util/Hashtable;
            ifnonnull 101
        99: .line 315
            aload 0 /* this */
            lload 2 /* length */
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.skipBytes:(J)V
       100: .line 316
            goto 13
       101: .line 317
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.in:Lcom/sun/tools/hat/internal/parser/PositionDataInputStream;
            invokevirtual com.sun.tools.hat.internal.parser.PositionDataInputStream.readInt:()I
            istore 4 /* serialNo */
        start local 4 // int serialNo
       102: .line 318
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.in:Lcom/sun/tools/hat/internal/parser/PositionDataInputStream;
            invokevirtual com.sun.tools.hat.internal.parser.PositionDataInputStream.readInt:()I
            pop
       103: .line 319
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.in:Lcom/sun/tools/hat/internal/parser/PositionDataInputStream;
            invokevirtual com.sun.tools.hat.internal.parser.PositionDataInputStream.readInt:()I
            anewarray com.sun.tools.hat.internal.model.StackFrame
            astore 5 /* frames */
        start local 5 // com.sun.tools.hat.internal.model.StackFrame[] frames
       104: .line 320
            iconst_0
            istore 6 /* i */
        start local 6 // int i
       105: goto 111
       106: .line 321
      StackMap locals: int com.sun.tools.hat.internal.model.StackFrame[] int
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.readID:()J
            lstore 7 /* fid */
        start local 7 // long fid
       107: .line 322
            aload 5 /* frames */
            iload 6 /* i */
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.stackFrames:Ljava/util/Hashtable;
            new java.lang.Long
            dup
            lload 7 /* fid */
            invokespecial java.lang.Long.<init>:(J)V
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.sun.tools.hat.internal.model.StackFrame
            aastore
       108: .line 323
            aload 5 /* frames */
            iload 6 /* i */
            aaload
            ifnonnull 110
       109: .line 324
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Stack frame "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            lload 7 /* fid */
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.toHex:(J)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " not found"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 7 // long fid
       110: .line 320
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
       111: iload 6 /* i */
            aload 5 /* frames */
            arraylength
            if_icmplt 106
        end local 6 // int i
       112: .line 327
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.stackTraces:Ljava/util/Hashtable;
            new java.lang.Integer
            dup
            iload 4 /* serialNo */
            invokespecial java.lang.Integer.<init>:(I)V
       113: .line 328
            new com.sun.tools.hat.internal.model.StackTrace
            dup
            aload 5 /* frames */
            invokespecial com.sun.tools.hat.internal.model.StackTrace.<init>:([Lcom/sun/tools/hat/internal/model/StackFrame;)V
       114: .line 327
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 5 // com.sun.tools.hat.internal.model.StackFrame[] frames
        end local 4 // int serialNo
       115: .line 330
            goto 13
       116: .line 343
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 2 /* length */
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.skipBytes:(J)V
       117: .line 344
            goto 13
       118: .line 347
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 2 /* length */
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.skipBytes:(J)V
       119: .line 348
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "Ignoring unrecognized record type "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* type */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.warn:(Ljava/lang/String;)V
        end local 2 // long length
        end local 1 // int type
       120: .line 191
            goto 13
       121: .line 353
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.snapshot:Lcom/sun/tools/hat/internal/model/Snapshot;
            areturn
        end local 0 // com.sun.tools.hat.internal.parser.HprofReader this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0  122     0         this  Lcom/sun/tools/hat/internal/parser/HprofReader;
           14   15     1         type  I
           17  120     1         type  I
           19  120     2       length  J
           32   36     4           id  J
           33   36     6        chars  [B
           37   46     4     serialNo  I
           38   46     5      classID  J
           40   46     7  classNameID  J
           41   46     9     classIdI  Ljava/lang/Long;
           42   46    10           nm  Ljava/lang/String;
           50   51     4          exp  Ljava/io/EOFException;
           71   72     4          exp  Ljava/io/EOFException;
           82   97     4           id  J
           83   97     6   methodName  Ljava/lang/String;
           84   97     7    methodSig  Ljava/lang/String;
           85   97     8   sourceFile  Ljava/lang/String;
           86   97     9     classSer  I
           87   97    10    className  Ljava/lang/String;
           88   97    11   lineNumber  I
          102  115     4     serialNo  I
          104  115     5       frames  [Lcom/sun/tools/hat/internal/model/StackFrame;
          105  112     6            i  I
          107  110     7          fid  J
      Exception table:
        from    to  target  type
          13    14      15  Class java.io.EOFException
          47    48      49  Class java.io.EOFException
          68    69      70  Class java.io.EOFException
    Exceptions:
      throws java.io.IOException

  private void skipBytes(long);
    descriptor: (J)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.sun.tools.hat.internal.parser.HprofReader this
        start local 1 // long length
         0: .line 357
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.in:Lcom/sun/tools/hat/internal/parser/PositionDataInputStream;
            lload 1 /* length */
            l2i
            invokevirtual com.sun.tools.hat.internal.parser.PositionDataInputStream.skipBytes:(I)I
            pop
         1: .line 358
            return
        end local 1 // long length
        end local 0 // com.sun.tools.hat.internal.parser.HprofReader this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lcom/sun/tools/hat/internal/parser/HprofReader;
            0    2     1  length  J
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      length  

  private int readVersionHeader();
    descriptor: ()I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=1
        start local 0 // com.sun.tools.hat.internal.parser.HprofReader this
         0: .line 361
            getstatic com.sun.tools.hat.internal.parser.HprofReader.VERSIONS:[Ljava/lang/String;
            arraylength
            istore 1 /* candidatesLeft */
        start local 1 // int candidatesLeft
         1: .line 362
            getstatic com.sun.tools.hat.internal.parser.HprofReader.VERSIONS:[Ljava/lang/String;
            arraylength
            newarray 4
            astore 2 /* matched */
        start local 2 // boolean[] matched
         2: .line 363
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 6
         4: .line 364
      StackMap locals: int boolean[] int
      StackMap stack:
            aload 2 /* matched */
            iload 3 /* i */
            iconst_1
            bastore
         5: .line 363
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            iload 1 /* candidatesLeft */
            if_icmplt 4
        end local 3 // int i
         7: .line 367
            iconst_0
            istore 3 /* pos */
        start local 3 // int pos
         8: .line 368
            goto 23
         9: .line 369
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.in:Lcom/sun/tools/hat/internal/parser/PositionDataInputStream;
            invokevirtual com.sun.tools.hat.internal.parser.PositionDataInputStream.readByte:()B
            i2c
            istore 4 /* c */
        start local 4 // char c
        10: .line 370
            aload 0 /* this */
            dup
            getfield com.sun.tools.hat.internal.parser.HprofReader.currPos:J
            lconst_1
            ladd
            putfield com.sun.tools.hat.internal.parser.HprofReader.currPos:J
        11: .line 371
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        12: goto 21
        13: .line 372
      StackMap locals: int int
      StackMap stack:
            aload 2 /* matched */
            iload 5 /* i */
            baload
            ifeq 20
        14: .line 373
            iload 4 /* c */
            getstatic com.sun.tools.hat.internal.parser.HprofReader.VERSIONS:[Ljava/lang/String;
            iload 5 /* i */
            aaload
            iload 3 /* pos */
            invokevirtual java.lang.String.charAt:(I)C
            if_icmpeq 18
        15: .line 374
            aload 2 /* matched */
            iload 5 /* i */
            iconst_0
            bastore
        16: .line 375
            iinc 1 /* candidatesLeft */ -1
        17: .line 376
            goto 20
      StackMap locals:
      StackMap stack:
        18: iload 3 /* pos */
            getstatic com.sun.tools.hat.internal.parser.HprofReader.VERSIONS:[Ljava/lang/String;
            iload 5 /* i */
            aaload
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            if_icmpne 20
        19: .line 377
            iload 5 /* i */
            ireturn
        20: .line 371
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        21: iload 5 /* i */
            getstatic com.sun.tools.hat.internal.parser.HprofReader.VERSIONS:[Ljava/lang/String;
            arraylength
            if_icmplt 13
        end local 5 // int i
        22: .line 381
            iinc 3 /* pos */ 1
        end local 4 // char c
        23: .line 368
      StackMap locals:
      StackMap stack:
            iload 1 /* candidatesLeft */
            ifgt 9
        24: .line 383
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Version string not recognized at byte "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* pos */
            iconst_3
            iadd
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // int pos
        end local 2 // boolean[] matched
        end local 1 // int candidatesLeft
        end local 0 // com.sun.tools.hat.internal.parser.HprofReader this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   25     0            this  Lcom/sun/tools/hat/internal/parser/HprofReader;
            1   25     1  candidatesLeft  I
            2   25     2         matched  [Z
            3    7     3               i  I
            8   25     3             pos  I
           10   23     4               c  C
           12   22     5               i  I
    Exceptions:
      throws java.io.IOException

  private void readHeapDump(long, long);
    descriptor: (JJ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=10, locals=12, args_size=3
        start local 0 // com.sun.tools.hat.internal.parser.HprofReader this
        start local 1 // long bytesLeft
        start local 3 // long posAtEnd
         0: .line 387
            goto 89
         1: .line 388
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.in:Lcom/sun/tools/hat/internal/parser/PositionDataInputStream;
            invokevirtual com.sun.tools.hat.internal.parser.PositionDataInputStream.readUnsignedByte:()I
            istore 5 /* type */
        start local 5 // int type
         2: .line 389
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.debugLevel:I
            ifle 7
         3: .line 390
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "    Read heap sub-record type "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 5 /* type */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
         4: .line 391
            ldc " at position "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         5: .line 392
            aload 0 /* this */
            lload 3 /* posAtEnd */
            lload 1 /* bytesLeft */
            lsub
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.toHex:(J)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         6: .line 390
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         7: .line 394
      StackMap locals: int
      StackMap stack:
            lload 1 /* bytesLeft */
            lconst_1
            lsub
            lstore 1 /* bytesLeft */
         8: .line 395
            iload 5 /* type */
            lookupswitch { // 13
                    1: 21
                    2: 26
                    3: 38
                    4: 50
                    5: 59
                    6: 63
                    7: 72
                    8: 13
                   32: 76
                   33: 79
                   34: 82
                   35: 85
                  255: 9
              default: 88
          }
         9: .line 397
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.readID:()J
            lstore 6 /* id */
        start local 6 // long id
        10: .line 398
            lload 1 /* bytesLeft */
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.identifierSize:I
            i2l
            lsub
            lstore 1 /* bytesLeft */
        11: .line 399
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.snapshot:Lcom/sun/tools/hat/internal/model/Snapshot;
            new com.sun.tools.hat.internal.model.Root
            dup
            lload 6 /* id */
            lconst_0
            iconst_1
            ldc ""
            invokespecial com.sun.tools.hat.internal.model.Root.<init>:(JJILjava/lang/String;)V
            invokevirtual com.sun.tools.hat.internal.model.Snapshot.addRoot:(Lcom/sun/tools/hat/internal/model/Root;)V
        12: .line 400
            goto 89
        end local 6 // long id
        13: .line 403
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.readID:()J
            lstore 6 /* id */
        start local 6 // long id
        14: .line 404
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.in:Lcom/sun/tools/hat/internal/parser/PositionDataInputStream;
            invokevirtual com.sun.tools.hat.internal.parser.PositionDataInputStream.readInt:()I
            istore 8 /* threadSeq */
        start local 8 // int threadSeq
        15: .line 405
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.in:Lcom/sun/tools/hat/internal/parser/PositionDataInputStream;
            invokevirtual com.sun.tools.hat.internal.parser.PositionDataInputStream.readInt:()I
            istore 9 /* stackSeq */
        start local 9 // int stackSeq
        16: .line 406
            lload 1 /* bytesLeft */
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.identifierSize:I
            bipush 8
            iadd
            i2l
            lsub
            lstore 1 /* bytesLeft */
        17: .line 407
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.threadObjects:Ljava/util/Hashtable;
            new java.lang.Integer
            dup
            iload 8 /* threadSeq */
            invokespecial java.lang.Integer.<init>:(I)V
        18: .line 408
            new com.sun.tools.hat.internal.parser.HprofReader$ThreadObject
            dup
            aload 0 /* this */
            lload 6 /* id */
            iload 9 /* stackSeq */
            invokespecial com.sun.tools.hat.internal.parser.HprofReader$ThreadObject.<init>:(Lcom/sun/tools/hat/internal/parser/HprofReader;JI)V
        19: .line 407
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        20: .line 409
            goto 89
        end local 9 // int stackSeq
        end local 8 // int threadSeq
        end local 6 // long id
        21: .line 412
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.readID:()J
            lstore 6 /* id */
        start local 6 // long id
        22: .line 413
            aload 0 /* this */
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.readID:()J
            pop2
        23: .line 414
            lload 1 /* bytesLeft */
            iconst_2
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.identifierSize:I
            imul
            i2l
            lsub
            lstore 1 /* bytesLeft */
        24: .line 415
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.snapshot:Lcom/sun/tools/hat/internal/model/Snapshot;
            new com.sun.tools.hat.internal.model.Root
            dup
            lload 6 /* id */
            lconst_0
            iconst_4
            ldc ""
            invokespecial com.sun.tools.hat.internal.model.Root.<init>:(JJILjava/lang/String;)V
            invokevirtual com.sun.tools.hat.internal.model.Snapshot.addRoot:(Lcom/sun/tools/hat/internal/model/Root;)V
        25: .line 416
            goto 89
        end local 6 // long id
        26: .line 419
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.readID:()J
            lstore 6 /* id */
        start local 6 // long id
        27: .line 420
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.in:Lcom/sun/tools/hat/internal/parser/PositionDataInputStream;
            invokevirtual com.sun.tools.hat.internal.parser.PositionDataInputStream.readInt:()I
            istore 8 /* threadSeq */
        start local 8 // int threadSeq
        28: .line 421
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.in:Lcom/sun/tools/hat/internal/parser/PositionDataInputStream;
            invokevirtual com.sun.tools.hat.internal.parser.PositionDataInputStream.readInt:()I
            istore 9 /* depth */
        start local 9 // int depth
        29: .line 422
            lload 1 /* bytesLeft */
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.identifierSize:I
            bipush 8
            iadd
            i2l
            lsub
            lstore 1 /* bytesLeft */
        30: .line 423
            aload 0 /* this */
            iload 8 /* threadSeq */
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.getThreadObjectFromSequence:(I)Lcom/sun/tools/hat/internal/parser/HprofReader$ThreadObject;
            astore 10 /* to */
        start local 10 // com.sun.tools.hat.internal.parser.HprofReader$ThreadObject to
        31: .line 424
            aload 0 /* this */
            aload 10 /* to */
            getfield com.sun.tools.hat.internal.parser.HprofReader$ThreadObject.stackSeq:I
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.getStackTraceFromSerial:(I)Lcom/sun/tools/hat/internal/model/StackTrace;
            astore 11 /* st */
        start local 11 // com.sun.tools.hat.internal.model.StackTrace st
        32: .line 425
            aload 11 /* st */
            ifnull 34
        33: .line 426
            aload 11 /* st */
            iload 9 /* depth */
            iconst_1
            iadd
            invokevirtual com.sun.tools.hat.internal.model.StackTrace.traceForDepth:(I)Lcom/sun/tools/hat/internal/model/StackTrace;
            astore 11 /* st */
        34: .line 428
      StackMap locals: com.sun.tools.hat.internal.parser.HprofReader long long int long int int com.sun.tools.hat.internal.parser.HprofReader$ThreadObject com.sun.tools.hat.internal.model.StackTrace
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.snapshot:Lcom/sun/tools/hat/internal/model/Snapshot;
            new com.sun.tools.hat.internal.model.Root
            dup
            lload 6 /* id */
            aload 10 /* to */
            getfield com.sun.tools.hat.internal.parser.HprofReader$ThreadObject.threadId:J
        35: .line 429
            iconst_3
            ldc ""
            aload 11 /* st */
            invokespecial com.sun.tools.hat.internal.model.Root.<init>:(JJILjava/lang/String;Lcom/sun/tools/hat/internal/model/StackTrace;)V
        36: .line 428
            invokevirtual com.sun.tools.hat.internal.model.Snapshot.addRoot:(Lcom/sun/tools/hat/internal/model/Root;)V
        37: .line 430
            goto 89
        end local 11 // com.sun.tools.hat.internal.model.StackTrace st
        end local 10 // com.sun.tools.hat.internal.parser.HprofReader$ThreadObject to
        end local 9 // int depth
        end local 8 // int threadSeq
        end local 6 // long id
        38: .line 433
      StackMap locals: com.sun.tools.hat.internal.parser.HprofReader long long int
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.readID:()J
            lstore 6 /* id */
        start local 6 // long id
        39: .line 434
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.in:Lcom/sun/tools/hat/internal/parser/PositionDataInputStream;
            invokevirtual com.sun.tools.hat.internal.parser.PositionDataInputStream.readInt:()I
            istore 8 /* threadSeq */
        start local 8 // int threadSeq
        40: .line 435
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.in:Lcom/sun/tools/hat/internal/parser/PositionDataInputStream;
            invokevirtual com.sun.tools.hat.internal.parser.PositionDataInputStream.readInt:()I
            istore 9 /* depth */
        start local 9 // int depth
        41: .line 436
            lload 1 /* bytesLeft */
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.identifierSize:I
            bipush 8
            iadd
            i2l
            lsub
            lstore 1 /* bytesLeft */
        42: .line 437
            aload 0 /* this */
            iload 8 /* threadSeq */
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.getThreadObjectFromSequence:(I)Lcom/sun/tools/hat/internal/parser/HprofReader$ThreadObject;
            astore 10 /* to */
        start local 10 // com.sun.tools.hat.internal.parser.HprofReader$ThreadObject to
        43: .line 438
            aload 0 /* this */
            aload 10 /* to */
            getfield com.sun.tools.hat.internal.parser.HprofReader$ThreadObject.stackSeq:I
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.getStackTraceFromSerial:(I)Lcom/sun/tools/hat/internal/model/StackTrace;
            astore 11 /* st */
        start local 11 // com.sun.tools.hat.internal.model.StackTrace st
        44: .line 439
            aload 11 /* st */
            ifnull 46
        45: .line 440
            aload 11 /* st */
            iload 9 /* depth */
            iconst_1
            iadd
            invokevirtual com.sun.tools.hat.internal.model.StackTrace.traceForDepth:(I)Lcom/sun/tools/hat/internal/model/StackTrace;
            astore 11 /* st */
        46: .line 442
      StackMap locals: com.sun.tools.hat.internal.parser.HprofReader long long int long int int com.sun.tools.hat.internal.parser.HprofReader$ThreadObject com.sun.tools.hat.internal.model.StackTrace
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.snapshot:Lcom/sun/tools/hat/internal/model/Snapshot;
            new com.sun.tools.hat.internal.model.Root
            dup
            lload 6 /* id */
            aload 10 /* to */
            getfield com.sun.tools.hat.internal.parser.HprofReader$ThreadObject.threadId:J
        47: .line 443
            bipush 7
            ldc ""
            aload 11 /* st */
            invokespecial com.sun.tools.hat.internal.model.Root.<init>:(JJILjava/lang/String;Lcom/sun/tools/hat/internal/model/StackTrace;)V
        48: .line 442
            invokevirtual com.sun.tools.hat.internal.model.Snapshot.addRoot:(Lcom/sun/tools/hat/internal/model/Root;)V
        49: .line 444
            goto 89
        end local 11 // com.sun.tools.hat.internal.model.StackTrace st
        end local 10 // com.sun.tools.hat.internal.parser.HprofReader$ThreadObject to
        end local 9 // int depth
        end local 8 // int threadSeq
        end local 6 // long id
        50: .line 447
      StackMap locals: com.sun.tools.hat.internal.parser.HprofReader long long int
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.readID:()J
            lstore 6 /* id */
        start local 6 // long id
        51: .line 448
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.in:Lcom/sun/tools/hat/internal/parser/PositionDataInputStream;
            invokevirtual com.sun.tools.hat.internal.parser.PositionDataInputStream.readInt:()I
            istore 8 /* threadSeq */
        start local 8 // int threadSeq
        52: .line 449
            lload 1 /* bytesLeft */
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.identifierSize:I
            iconst_4
            iadd
            i2l
            lsub
            lstore 1 /* bytesLeft */
        53: .line 450
            aload 0 /* this */
            iload 8 /* threadSeq */
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.getThreadObjectFromSequence:(I)Lcom/sun/tools/hat/internal/parser/HprofReader$ThreadObject;
            astore 9 /* to */
        start local 9 // com.sun.tools.hat.internal.parser.HprofReader$ThreadObject to
        54: .line 451
            aload 0 /* this */
            aload 9 /* to */
            getfield com.sun.tools.hat.internal.parser.HprofReader$ThreadObject.stackSeq:I
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.getStackTraceFromSerial:(I)Lcom/sun/tools/hat/internal/model/StackTrace;
            astore 10 /* st */
        start local 10 // com.sun.tools.hat.internal.model.StackTrace st
        55: .line 452
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.snapshot:Lcom/sun/tools/hat/internal/model/Snapshot;
            new com.sun.tools.hat.internal.model.Root
            dup
            lload 6 /* id */
            aload 9 /* to */
            getfield com.sun.tools.hat.internal.parser.HprofReader$ThreadObject.threadId:J
        56: .line 453
            bipush 8
            ldc ""
            aload 10 /* st */
            invokespecial com.sun.tools.hat.internal.model.Root.<init>:(JJILjava/lang/String;Lcom/sun/tools/hat/internal/model/StackTrace;)V
        57: .line 452
            invokevirtual com.sun.tools.hat.internal.model.Snapshot.addRoot:(Lcom/sun/tools/hat/internal/model/Root;)V
        58: .line 454
            goto 89
        end local 10 // com.sun.tools.hat.internal.model.StackTrace st
        end local 9 // com.sun.tools.hat.internal.parser.HprofReader$ThreadObject to
        end local 8 // int threadSeq
        end local 6 // long id
        59: .line 457
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.readID:()J
            lstore 6 /* id */
        start local 6 // long id
        60: .line 458
            lload 1 /* bytesLeft */
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.identifierSize:I
            i2l
            lsub
            lstore 1 /* bytesLeft */
        61: .line 459
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.snapshot:Lcom/sun/tools/hat/internal/model/Snapshot;
            new com.sun.tools.hat.internal.model.Root
            dup
            lload 6 /* id */
            lconst_0
            iconst_2
            ldc ""
            invokespecial com.sun.tools.hat.internal.model.Root.<init>:(JJILjava/lang/String;)V
            invokevirtual com.sun.tools.hat.internal.model.Snapshot.addRoot:(Lcom/sun/tools/hat/internal/model/Root;)V
        62: .line 460
            goto 89
        end local 6 // long id
        63: .line 463
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.readID:()J
            lstore 6 /* id */
        start local 6 // long id
        64: .line 464
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.in:Lcom/sun/tools/hat/internal/parser/PositionDataInputStream;
            invokevirtual com.sun.tools.hat.internal.parser.PositionDataInputStream.readInt:()I
            istore 8 /* threadSeq */
        start local 8 // int threadSeq
        65: .line 465
            lload 1 /* bytesLeft */
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.identifierSize:I
            iconst_4
            iadd
            i2l
            lsub
            lstore 1 /* bytesLeft */
        66: .line 466
            aload 0 /* this */
            iload 8 /* threadSeq */
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.getThreadObjectFromSequence:(I)Lcom/sun/tools/hat/internal/parser/HprofReader$ThreadObject;
            astore 9 /* to */
        start local 9 // com.sun.tools.hat.internal.parser.HprofReader$ThreadObject to
        67: .line 467
            aload 0 /* this */
            aload 9 /* to */
            getfield com.sun.tools.hat.internal.parser.HprofReader$ThreadObject.stackSeq:I
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.getStackTraceFromSerial:(I)Lcom/sun/tools/hat/internal/model/StackTrace;
            astore 10 /* st */
        start local 10 // com.sun.tools.hat.internal.model.StackTrace st
        68: .line 468
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.snapshot:Lcom/sun/tools/hat/internal/model/Snapshot;
            new com.sun.tools.hat.internal.model.Root
            dup
            lload 6 /* id */
            aload 9 /* to */
            getfield com.sun.tools.hat.internal.parser.HprofReader$ThreadObject.threadId:J
        69: .line 469
            iconst_5
            ldc ""
            aload 10 /* st */
            invokespecial com.sun.tools.hat.internal.model.Root.<init>:(JJILjava/lang/String;Lcom/sun/tools/hat/internal/model/StackTrace;)V
        70: .line 468
            invokevirtual com.sun.tools.hat.internal.model.Snapshot.addRoot:(Lcom/sun/tools/hat/internal/model/Root;)V
        71: .line 470
            goto 89
        end local 10 // com.sun.tools.hat.internal.model.StackTrace st
        end local 9 // com.sun.tools.hat.internal.parser.HprofReader$ThreadObject to
        end local 8 // int threadSeq
        end local 6 // long id
        72: .line 473
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.readID:()J
            lstore 6 /* id */
        start local 6 // long id
        73: .line 474
            lload 1 /* bytesLeft */
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.identifierSize:I
            i2l
            lsub
            lstore 1 /* bytesLeft */
        74: .line 475
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.snapshot:Lcom/sun/tools/hat/internal/model/Snapshot;
            new com.sun.tools.hat.internal.model.Root
            dup
            lload 6 /* id */
            lconst_0
            bipush 6
            ldc ""
            invokespecial com.sun.tools.hat.internal.model.Root.<init>:(JJILjava/lang/String;)V
            invokevirtual com.sun.tools.hat.internal.model.Snapshot.addRoot:(Lcom/sun/tools/hat/internal/model/Root;)V
        75: .line 476
            goto 89
        end local 6 // long id
        76: .line 479
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.readClass:()I
            istore 6 /* bytesRead */
        start local 6 // int bytesRead
        77: .line 480
            lload 1 /* bytesLeft */
            iload 6 /* bytesRead */
            i2l
            lsub
            lstore 1 /* bytesLeft */
        78: .line 481
            goto 89
        end local 6 // int bytesRead
        79: .line 484
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.readInstance:()I
            istore 6 /* bytesRead */
        start local 6 // int bytesRead
        80: .line 485
            lload 1 /* bytesLeft */
            iload 6 /* bytesRead */
            i2l
            lsub
            lstore 1 /* bytesLeft */
        81: .line 486
            goto 89
        end local 6 // int bytesRead
        82: .line 489
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.readArray:(Z)I
            istore 6 /* bytesRead */
        start local 6 // int bytesRead
        83: .line 490
            lload 1 /* bytesLeft */
            iload 6 /* bytesRead */
            i2l
            lsub
            lstore 1 /* bytesLeft */
        84: .line 491
            goto 89
        end local 6 // int bytesRead
        85: .line 494
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.readArray:(Z)I
            istore 6 /* bytesRead */
        start local 6 // int bytesRead
        86: .line 495
            lload 1 /* bytesLeft */
            iload 6 /* bytesRead */
            i2l
            lsub
            lstore 1 /* bytesLeft */
        87: .line 496
            goto 89
        end local 6 // int bytesRead
        88: .line 499
      StackMap locals:
      StackMap stack:
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unrecognized heap dump sub-record type:  "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 5 /* type */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // int type
        89: .line 387
      StackMap locals:
      StackMap stack:
            lload 1 /* bytesLeft */
            lconst_0
            lcmp
            ifgt 1
        90: .line 503
            lload 1 /* bytesLeft */
            lconst_0
            lcmp
            ifeq 93
        91: .line 504
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "Error reading heap dump or heap dump segment:  Byte count is "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 1 /* bytesLeft */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc " instead of 0"
            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.parser.HprofReader.warn:(Ljava/lang/String;)V
        92: .line 505
            aload 0 /* this */
            lload 1 /* bytesLeft */
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.skipBytes:(J)V
        93: .line 507
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.debugLevel:I
            ifle 95
        94: .line 508
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "    Finished heap sub-records."
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        95: .line 510
      StackMap locals:
      StackMap stack:
            return
        end local 3 // long posAtEnd
        end local 1 // long bytesLeft
        end local 0 // com.sun.tools.hat.internal.parser.HprofReader this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   96     0       this  Lcom/sun/tools/hat/internal/parser/HprofReader;
            0   96     1  bytesLeft  J
            0   96     3   posAtEnd  J
            2   89     5       type  I
           10   13     6         id  J
           14   21     6         id  J
           15   21     8  threadSeq  I
           16   21     9   stackSeq  I
           22   26     6         id  J
           27   38     6         id  J
           28   38     8  threadSeq  I
           29   38     9      depth  I
           31   38    10         to  Lcom/sun/tools/hat/internal/parser/HprofReader$ThreadObject;
           32   38    11         st  Lcom/sun/tools/hat/internal/model/StackTrace;
           39   50     6         id  J
           40   50     8  threadSeq  I
           41   50     9      depth  I
           43   50    10         to  Lcom/sun/tools/hat/internal/parser/HprofReader$ThreadObject;
           44   50    11         st  Lcom/sun/tools/hat/internal/model/StackTrace;
           51   59     6         id  J
           52   59     8  threadSeq  I
           54   59     9         to  Lcom/sun/tools/hat/internal/parser/HprofReader$ThreadObject;
           55   59    10         st  Lcom/sun/tools/hat/internal/model/StackTrace;
           60   63     6         id  J
           64   72     6         id  J
           65   72     8  threadSeq  I
           67   72     9         to  Lcom/sun/tools/hat/internal/parser/HprofReader$ThreadObject;
           68   72    10         st  Lcom/sun/tools/hat/internal/model/StackTrace;
           73   76     6         id  J
           77   79     6  bytesRead  I
           80   82     6  bytesRead  I
           83   85     6  bytesRead  I
           86   88     6  bytesRead  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
           Name  Flags
      bytesLeft  
      posAtEnd   

  private long readID();
    descriptor: ()J
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.sun.tools.hat.internal.parser.HprofReader this
         0: .line 513
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.identifierSize:I
            iconst_4
            if_icmpne 2
         1: .line 514
            getstatic com.sun.tools.hat.internal.model.Snapshot.SMALL_ID_MASK:J
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.in:Lcom/sun/tools/hat/internal/parser/PositionDataInputStream;
            invokevirtual com.sun.tools.hat.internal.parser.PositionDataInputStream.readInt:()I
            i2l
            land
            goto 3
      StackMap locals:
      StackMap stack:
         2: aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.in:Lcom/sun/tools/hat/internal/parser/PositionDataInputStream;
            invokevirtual com.sun.tools.hat.internal.parser.PositionDataInputStream.readLong:()J
         3: .line 513
      StackMap locals:
      StackMap stack: long
            lreturn
        end local 0 // com.sun.tools.hat.internal.parser.HprofReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/sun/tools/hat/internal/parser/HprofReader;
    Exceptions:
      throws java.io.IOException

  private int readValue(com.sun.tools.hat.internal.model.JavaThing[]);
    descriptor: ([Lcom/sun/tools/hat/internal/model/JavaThing;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // com.sun.tools.hat.internal.parser.HprofReader this
        start local 1 // com.sun.tools.hat.internal.model.JavaThing[] resultArr
         0: .line 523
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.in:Lcom/sun/tools/hat/internal/parser/PositionDataInputStream;
            invokevirtual com.sun.tools.hat.internal.parser.PositionDataInputStream.readByte:()B
            istore 2 /* type */
        start local 2 // byte type
         1: .line 524
            iconst_1
            aload 0 /* this */
            iload 2 /* type */
            aload 1 /* resultArr */
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.readValueForType:(B[Lcom/sun/tools/hat/internal/model/JavaThing;)I
            iadd
            ireturn
        end local 2 // byte type
        end local 1 // com.sun.tools.hat.internal.model.JavaThing[] resultArr
        end local 0 // com.sun.tools.hat.internal.parser.HprofReader this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lcom/sun/tools/hat/internal/parser/HprofReader;
            0    2     1  resultArr  [Lcom/sun/tools/hat/internal/model/JavaThing;
            1    2     2       type  B
    Exceptions:
      throws java.io.IOException
    MethodParameters:
           Name  Flags
      resultArr  

  private int readValueForType(byte, com.sun.tools.hat.internal.model.JavaThing[]);
    descriptor: (B[Lcom/sun/tools/hat/internal/model/JavaThing;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.tools.hat.internal.parser.HprofReader this
        start local 1 // byte type
        start local 2 // com.sun.tools.hat.internal.model.JavaThing[] resultArr
         0: .line 529
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.version:I
            iconst_1
            if_icmplt 2
         1: .line 530
            aload 0 /* this */
            iload 1 /* type */
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.signatureFromTypeId:(B)B
            istore 1 /* type */
         2: .line 532
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* type */
            aload 2 /* resultArr */
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.readValueForTypeSignature:(B[Lcom/sun/tools/hat/internal/model/JavaThing;)I
            ireturn
        end local 2 // com.sun.tools.hat.internal.model.JavaThing[] resultArr
        end local 1 // byte type
        end local 0 // com.sun.tools.hat.internal.parser.HprofReader this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lcom/sun/tools/hat/internal/parser/HprofReader;
            0    3     1       type  B
            0    3     2  resultArr  [Lcom/sun/tools/hat/internal/model/JavaThing;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
           Name  Flags
      type       
      resultArr  

  private int readValueForTypeSignature(byte, com.sun.tools.hat.internal.model.JavaThing[]);
    descriptor: (B[Lcom/sun/tools/hat/internal/model/JavaThing;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // com.sun.tools.hat.internal.parser.HprofReader this
        start local 1 // byte type
        start local 2 // com.sun.tools.hat.internal.model.JavaThing[] resultArr
         0: .line 537
            iload 1 /* type */
            lookupswitch { // 10
                   66: 14
                   67: 22
                   68: 38
                   70: 34
                   73: 26
                   74: 30
                   76: 1
                   83: 18
                   90: 5
                   91: 1
              default: 42
          }
         1: .line 540
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.readID:()J
            lstore 3 /* id */
        start local 3 // long id
         2: .line 541
            aload 2 /* resultArr */
            ifnull 4
         3: .line 542
            aload 2 /* resultArr */
            iconst_0
            new com.sun.tools.hat.internal.model.JavaObjectRef
            dup
            lload 3 /* id */
            invokespecial com.sun.tools.hat.internal.model.JavaObjectRef.<init>:(J)V
            aastore
         4: .line 544
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.identifierSize:I
            ireturn
        end local 3 // long id
         5: .line 547
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.in:Lcom/sun/tools/hat/internal/parser/PositionDataInputStream;
            invokevirtual com.sun.tools.hat.internal.parser.PositionDataInputStream.readByte:()B
            istore 3 /* b */
        start local 3 // int b
         6: .line 548
            iload 3 /* b */
            ifeq 8
            iload 3 /* b */
            iconst_1
            if_icmpeq 8
         7: .line 549
            aload 0 /* this */
            ldc "Illegal boolean value read"
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.warn:(Ljava/lang/String;)V
         8: .line 551
      StackMap locals: int
      StackMap stack:
            aload 2 /* resultArr */
            ifnull 13
         9: .line 552
            aload 2 /* resultArr */
            iconst_0
        10: new com.sun.tools.hat.internal.model.JavaBoolean
            dup
            iload 3 /* b */
            ifeq 11
            iconst_1
            goto 12
      StackMap locals: com.sun.tools.hat.internal.parser.HprofReader int com.sun.tools.hat.internal.model.JavaThing[] int
      StackMap stack: com.sun.tools.hat.internal.model.JavaThing[] int new 10 new 10
        11: iconst_0
      StackMap locals: com.sun.tools.hat.internal.parser.HprofReader int com.sun.tools.hat.internal.model.JavaThing[] int
      StackMap stack: com.sun.tools.hat.internal.model.JavaThing[] int new 10 new 10 int
        12: invokespecial com.sun.tools.hat.internal.model.JavaBoolean.<init>:(Z)V
            aastore
        13: .line 554
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 3 // int b
        14: .line 557
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.in:Lcom/sun/tools/hat/internal/parser/PositionDataInputStream;
            invokevirtual com.sun.tools.hat.internal.parser.PositionDataInputStream.readByte:()B
            istore 3 /* b */
        start local 3 // byte b
        15: .line 558
            aload 2 /* resultArr */
            ifnull 17
        16: .line 559
            aload 2 /* resultArr */
            iconst_0
            new com.sun.tools.hat.internal.model.JavaByte
            dup
            iload 3 /* b */
            invokespecial com.sun.tools.hat.internal.model.JavaByte.<init>:(B)V
            aastore
        17: .line 561
      StackMap locals: int
      StackMap stack:
            iconst_1
            ireturn
        end local 3 // byte b
        18: .line 564
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.in:Lcom/sun/tools/hat/internal/parser/PositionDataInputStream;
            invokevirtual com.sun.tools.hat.internal.parser.PositionDataInputStream.readShort:()S
            istore 3 /* s */
        start local 3 // short s
        19: .line 565
            aload 2 /* resultArr */
            ifnull 21
        20: .line 566
            aload 2 /* resultArr */
            iconst_0
            new com.sun.tools.hat.internal.model.JavaShort
            dup
            iload 3 /* s */
            invokespecial com.sun.tools.hat.internal.model.JavaShort.<init>:(S)V
            aastore
        21: .line 568
      StackMap locals: int
      StackMap stack:
            iconst_2
            ireturn
        end local 3 // short s
        22: .line 571
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.in:Lcom/sun/tools/hat/internal/parser/PositionDataInputStream;
            invokevirtual com.sun.tools.hat.internal.parser.PositionDataInputStream.readChar:()C
            istore 3 /* ch */
        start local 3 // char ch
        23: .line 572
            aload 2 /* resultArr */
            ifnull 25
        24: .line 573
            aload 2 /* resultArr */
            iconst_0
            new com.sun.tools.hat.internal.model.JavaChar
            dup
            iload 3 /* ch */
            invokespecial com.sun.tools.hat.internal.model.JavaChar.<init>:(C)V
            aastore
        25: .line 575
      StackMap locals: int
      StackMap stack:
            iconst_2
            ireturn
        end local 3 // char ch
        26: .line 578
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.in:Lcom/sun/tools/hat/internal/parser/PositionDataInputStream;
            invokevirtual com.sun.tools.hat.internal.parser.PositionDataInputStream.readInt:()I
            istore 3 /* val */
        start local 3 // int val
        27: .line 579
            aload 2 /* resultArr */
            ifnull 29
        28: .line 580
            aload 2 /* resultArr */
            iconst_0
            new com.sun.tools.hat.internal.model.JavaInt
            dup
            iload 3 /* val */
            invokespecial com.sun.tools.hat.internal.model.JavaInt.<init>:(I)V
            aastore
        29: .line 582
      StackMap locals: int
      StackMap stack:
            iconst_4
            ireturn
        end local 3 // int val
        30: .line 585
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.in:Lcom/sun/tools/hat/internal/parser/PositionDataInputStream;
            invokevirtual com.sun.tools.hat.internal.parser.PositionDataInputStream.readLong:()J
            lstore 3 /* val */
        start local 3 // long val
        31: .line 586
            aload 2 /* resultArr */
            ifnull 33
        32: .line 587
            aload 2 /* resultArr */
            iconst_0
            new com.sun.tools.hat.internal.model.JavaLong
            dup
            lload 3 /* val */
            invokespecial com.sun.tools.hat.internal.model.JavaLong.<init>:(J)V
            aastore
        33: .line 589
      StackMap locals: long
      StackMap stack:
            bipush 8
            ireturn
        end local 3 // long val
        34: .line 592
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.in:Lcom/sun/tools/hat/internal/parser/PositionDataInputStream;
            invokevirtual com.sun.tools.hat.internal.parser.PositionDataInputStream.readFloat:()F
            fstore 3 /* val */
        start local 3 // float val
        35: .line 593
            aload 2 /* resultArr */
            ifnull 37
        36: .line 594
            aload 2 /* resultArr */
            iconst_0
            new com.sun.tools.hat.internal.model.JavaFloat
            dup
            fload 3 /* val */
            invokespecial com.sun.tools.hat.internal.model.JavaFloat.<init>:(F)V
            aastore
        37: .line 596
      StackMap locals: float
      StackMap stack:
            iconst_4
            ireturn
        end local 3 // float val
        38: .line 599
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.in:Lcom/sun/tools/hat/internal/parser/PositionDataInputStream;
            invokevirtual com.sun.tools.hat.internal.parser.PositionDataInputStream.readDouble:()D
            dstore 3 /* val */
        start local 3 // double val
        39: .line 600
            aload 2 /* resultArr */
            ifnull 41
        40: .line 601
            aload 2 /* resultArr */
            iconst_0
            new com.sun.tools.hat.internal.model.JavaDouble
            dup
            dload 3 /* val */
            invokespecial com.sun.tools.hat.internal.model.JavaDouble.<init>:(D)V
            aastore
        41: .line 603
      StackMap locals: double
      StackMap stack:
            bipush 8
            ireturn
        end local 3 // double val
        42: .line 606
      StackMap locals:
      StackMap stack:
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Bad value signature:  "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* type */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // com.sun.tools.hat.internal.model.JavaThing[] resultArr
        end local 1 // byte type
        end local 0 // com.sun.tools.hat.internal.parser.HprofReader this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   43     0       this  Lcom/sun/tools/hat/internal/parser/HprofReader;
            0   43     1       type  B
            0   43     2  resultArr  [Lcom/sun/tools/hat/internal/model/JavaThing;
            2    5     3         id  J
            6   14     3          b  I
           15   18     3          b  B
           19   22     3          s  S
           23   26     3         ch  C
           27   30     3        val  I
           31   34     3        val  J
           35   38     3        val  F
           39   42     3        val  D
    Exceptions:
      throws java.io.IOException
    MethodParameters:
           Name  Flags
      type       
      resultArr  

  private com.sun.tools.hat.internal.parser.HprofReader$ThreadObject getThreadObjectFromSequence(int);
    descriptor: (I)Lcom/sun/tools/hat/internal/parser/HprofReader$ThreadObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // com.sun.tools.hat.internal.parser.HprofReader this
        start local 1 // int threadSeq
         0: .line 613
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.threadObjects:Ljava/util/Hashtable;
            new java.lang.Integer
            dup
            iload 1 /* threadSeq */
            invokespecial java.lang.Integer.<init>:(I)V
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.sun.tools.hat.internal.parser.HprofReader$ThreadObject
            astore 2 /* to */
        start local 2 // com.sun.tools.hat.internal.parser.HprofReader$ThreadObject to
         1: .line 614
            aload 2 /* to */
            ifnonnull 5
         2: .line 615
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Thread "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* threadSeq */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
         3: .line 616
            ldc " not found for JNI local ref"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         4: .line 615
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 618
      StackMap locals: com.sun.tools.hat.internal.parser.HprofReader$ThreadObject
      StackMap stack:
            aload 2 /* to */
            areturn
        end local 2 // com.sun.tools.hat.internal.parser.HprofReader$ThreadObject to
        end local 1 // int threadSeq
        end local 0 // com.sun.tools.hat.internal.parser.HprofReader this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lcom/sun/tools/hat/internal/parser/HprofReader;
            0    6     1  threadSeq  I
            1    6     2         to  Lcom/sun/tools/hat/internal/parser/HprofReader$ThreadObject;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
           Name  Flags
      threadSeq  

  private java.lang.String getNameFromID(long);
    descriptor: (J)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // com.sun.tools.hat.internal.parser.HprofReader this
        start local 1 // long id
         0: .line 622
            aload 0 /* this */
            new java.lang.Long
            dup
            lload 1 /* id */
            invokespecial java.lang.Long.<init>:(J)V
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.getNameFromID:(Ljava/lang/Long;)Ljava/lang/String;
            areturn
        end local 1 // long id
        end local 0 // com.sun.tools.hat.internal.parser.HprofReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/hat/internal/parser/HprofReader;
            0    1     1    id  J
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      id    

  private java.lang.String getNameFromID(java.lang.Long);
    descriptor: (Ljava/lang/Long;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // com.sun.tools.hat.internal.parser.HprofReader this
        start local 1 // java.lang.Long id
         0: .line 626
            aload 1 /* id */
            invokevirtual java.lang.Long.longValue:()J
            lconst_0
            lcmp
            ifne 2
         1: .line 627
            ldc ""
            areturn
         2: .line 629
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.names:Ljava/util/Hashtable;
            aload 1 /* id */
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* result */
        start local 2 // java.lang.String result
         3: .line 630
            aload 2 /* result */
            ifnonnull 6
         4: .line 631
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "Name not found at "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            aload 1 /* id */
            invokevirtual java.lang.Long.longValue:()J
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.toHex:(J)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.parser.HprofReader.warn:(Ljava/lang/String;)V
         5: .line 632
            new java.lang.StringBuilder
            dup
            ldc "unresolved name "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            aload 1 /* id */
            invokevirtual java.lang.Long.longValue:()J
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.toHex:(J)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
         6: .line 634
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* result */
            areturn
        end local 2 // java.lang.String result
        end local 1 // java.lang.Long id
        end local 0 // com.sun.tools.hat.internal.parser.HprofReader this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lcom/sun/tools/hat/internal/parser/HprofReader;
            0    7     1      id  Ljava/lang/Long;
            3    7     2  result  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      id    

  private com.sun.tools.hat.internal.model.StackTrace getStackTraceFromSerial(int);
    descriptor: (I)Lcom/sun/tools/hat/internal/model/StackTrace;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // com.sun.tools.hat.internal.parser.HprofReader this
        start local 1 // int ser
         0: .line 638
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.stackTraces:Ljava/util/Hashtable;
            ifnonnull 2
         1: .line 639
            aconst_null
            areturn
         2: .line 641
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.stackTraces:Ljava/util/Hashtable;
            new java.lang.Integer
            dup
            iload 1 /* ser */
            invokespecial java.lang.Integer.<init>:(I)V
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.sun.tools.hat.internal.model.StackTrace
            astore 2 /* result */
        start local 2 // com.sun.tools.hat.internal.model.StackTrace result
         3: .line 642
            aload 2 /* result */
            ifnonnull 5
         4: .line 643
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "Stack trace not found for serial # "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* ser */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.warn:(Ljava/lang/String;)V
         5: .line 645
      StackMap locals: com.sun.tools.hat.internal.model.StackTrace
      StackMap stack:
            aload 2 /* result */
            areturn
        end local 2 // com.sun.tools.hat.internal.model.StackTrace result
        end local 1 // int ser
        end local 0 // com.sun.tools.hat.internal.parser.HprofReader this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lcom/sun/tools/hat/internal/parser/HprofReader;
            0    6     1     ser  I
            3    6     2  result  Lcom/sun/tools/hat/internal/model/StackTrace;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      ser   

  private int readClass();
    descriptor: ()I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=16, locals=26, args_size=1
        start local 0 // com.sun.tools.hat.internal.parser.HprofReader this
         0: .line 653
            aload 0 /* this */
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.readID:()J
            lstore 1 /* id */
        start local 1 // long id
         1: .line 654
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.in:Lcom/sun/tools/hat/internal/parser/PositionDataInputStream;
            invokevirtual com.sun.tools.hat.internal.parser.PositionDataInputStream.readInt:()I
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.getStackTraceFromSerial:(I)Lcom/sun/tools/hat/internal/model/StackTrace;
            astore 3 /* stackTrace */
        start local 3 // com.sun.tools.hat.internal.model.StackTrace stackTrace
         2: .line 655
            aload 0 /* this */
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.readID:()J
            lstore 4 /* superId */
        start local 4 // long superId
         3: .line 656
            aload 0 /* this */
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.readID:()J
            lstore 6 /* classLoaderId */
        start local 6 // long classLoaderId
         4: .line 657
            aload 0 /* this */
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.readID:()J
            lstore 8 /* signersId */
        start local 8 // long signersId
         5: .line 658
            aload 0 /* this */
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.readID:()J
            lstore 10 /* protDomainId */
        start local 10 // long protDomainId
         6: .line 659
            aload 0 /* this */
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.readID:()J
            pop2
         7: .line 660
            aload 0 /* this */
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.readID:()J
            pop2
         8: .line 661
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.in:Lcom/sun/tools/hat/internal/parser/PositionDataInputStream;
            invokevirtual com.sun.tools.hat.internal.parser.PositionDataInputStream.readInt:()I
            istore 12 /* instanceSize */
        start local 12 // int instanceSize
         9: .line 662
            bipush 7
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.identifierSize:I
            imul
            bipush 8
            iadd
            istore 13 /* bytesRead */
        start local 13 // int bytesRead
        10: .line 664
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.in:Lcom/sun/tools/hat/internal/parser/PositionDataInputStream;
            invokevirtual com.sun.tools.hat.internal.parser.PositionDataInputStream.readUnsignedShort:()I
            istore 14 /* numConstPoolEntries */
        start local 14 // int numConstPoolEntries
        11: .line 665
            iinc 13 /* bytesRead */ 2
        12: .line 666
            iconst_0
            istore 15 /* i */
        start local 15 // int i
        13: goto 18
        14: .line 667
      StackMap locals: com.sun.tools.hat.internal.parser.HprofReader long com.sun.tools.hat.internal.model.StackTrace long long long long int int int int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.in:Lcom/sun/tools/hat/internal/parser/PositionDataInputStream;
            invokevirtual com.sun.tools.hat.internal.parser.PositionDataInputStream.readUnsignedShort:()I
            pop
        15: .line 668
            iinc 13 /* bytesRead */ 2
        16: .line 669
            iload 13 /* bytesRead */
            aload 0 /* this */
            aconst_null
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.readValue:([Lcom/sun/tools/hat/internal/model/JavaThing;)I
            iadd
            istore 13 /* bytesRead */
        17: .line 666
            iinc 15 /* i */ 1
      StackMap locals:
      StackMap stack:
        18: iload 15 /* i */
            iload 14 /* numConstPoolEntries */
            if_icmplt 14
        end local 15 // int i
        19: .line 672
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.in:Lcom/sun/tools/hat/internal/parser/PositionDataInputStream;
            invokevirtual com.sun.tools.hat.internal.parser.PositionDataInputStream.readUnsignedShort:()I
            istore 15 /* numStatics */
        start local 15 // int numStatics
        20: .line 673
            iinc 13 /* bytesRead */ 2
        21: .line 674
            iconst_1
            anewarray com.sun.tools.hat.internal.model.JavaThing
            astore 16 /* valueBin */
        start local 16 // com.sun.tools.hat.internal.model.JavaThing[] valueBin
        22: .line 675
            iload 15 /* numStatics */
            anewarray com.sun.tools.hat.internal.model.JavaStatic
            astore 17 /* statics */
        start local 17 // com.sun.tools.hat.internal.model.JavaStatic[] statics
        23: .line 676
            iconst_0
            istore 18 /* i */
        start local 18 // int i
        24: goto 37
        25: .line 677
      StackMap locals: com.sun.tools.hat.internal.model.JavaThing[] com.sun.tools.hat.internal.model.JavaStatic[] int
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.readID:()J
            lstore 19 /* nameId */
        start local 19 // long nameId
        26: .line 678
            iload 13 /* bytesRead */
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.identifierSize:I
            iadd
            istore 13 /* bytesRead */
        27: .line 679
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.in:Lcom/sun/tools/hat/internal/parser/PositionDataInputStream;
            invokevirtual com.sun.tools.hat.internal.parser.PositionDataInputStream.readByte:()B
            istore 21 /* type */
        start local 21 // byte type
        28: .line 680
            iinc 13 /* bytesRead */ 1
        29: .line 681
            iload 13 /* bytesRead */
            aload 0 /* this */
            iload 21 /* type */
            aload 16 /* valueBin */
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.readValueForType:(B[Lcom/sun/tools/hat/internal/model/JavaThing;)I
            iadd
            istore 13 /* bytesRead */
        30: .line 682
            aload 0 /* this */
            lload 19 /* nameId */
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.getNameFromID:(J)Ljava/lang/String;
            astore 22 /* fieldName */
        start local 22 // java.lang.String fieldName
        31: .line 683
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.version:I
            iconst_1
            if_icmplt 33
        32: .line 684
            aload 0 /* this */
            iload 21 /* type */
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.signatureFromTypeId:(B)B
            istore 21 /* type */
        33: .line 686
      StackMap locals: long int java.lang.String
      StackMap stack:
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            iload 21 /* type */
            i2c
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 23 /* signature */
        start local 23 // java.lang.String signature
        34: .line 687
            new com.sun.tools.hat.internal.model.JavaField
            dup
            aload 22 /* fieldName */
            aload 23 /* signature */
            invokespecial com.sun.tools.hat.internal.model.JavaField.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 24 /* f */
        start local 24 // com.sun.tools.hat.internal.model.JavaField f
        35: .line 688
            aload 17 /* statics */
            iload 18 /* i */
            new com.sun.tools.hat.internal.model.JavaStatic
            dup
            aload 24 /* f */
            aload 16 /* valueBin */
            iconst_0
            aaload
            invokespecial com.sun.tools.hat.internal.model.JavaStatic.<init>:(Lcom/sun/tools/hat/internal/model/JavaField;Lcom/sun/tools/hat/internal/model/JavaThing;)V
            aastore
        end local 24 // com.sun.tools.hat.internal.model.JavaField f
        end local 23 // java.lang.String signature
        end local 22 // java.lang.String fieldName
        end local 21 // byte type
        end local 19 // long nameId
        36: .line 676
            iinc 18 /* i */ 1
      StackMap locals:
      StackMap stack:
        37: iload 18 /* i */
            iload 15 /* numStatics */
            if_icmplt 25
        end local 18 // int i
        38: .line 691
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.in:Lcom/sun/tools/hat/internal/parser/PositionDataInputStream;
            invokevirtual com.sun.tools.hat.internal.parser.PositionDataInputStream.readUnsignedShort:()I
            istore 18 /* numFields */
        start local 18 // int numFields
        39: .line 692
            iinc 13 /* bytesRead */ 2
        40: .line 693
            iload 18 /* numFields */
            anewarray com.sun.tools.hat.internal.model.JavaField
            astore 19 /* fields */
        start local 19 // com.sun.tools.hat.internal.model.JavaField[] fields
        41: .line 694
            iconst_0
            istore 20 /* i */
        start local 20 // int i
        42: goto 53
        43: .line 695
      StackMap locals: com.sun.tools.hat.internal.model.JavaField[] int
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.readID:()J
            lstore 21 /* nameId */
        start local 21 // long nameId
        44: .line 696
            iload 13 /* bytesRead */
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.identifierSize:I
            iadd
            istore 13 /* bytesRead */
        45: .line 697
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.in:Lcom/sun/tools/hat/internal/parser/PositionDataInputStream;
            invokevirtual com.sun.tools.hat.internal.parser.PositionDataInputStream.readByte:()B
            istore 23 /* type */
        start local 23 // byte type
        46: .line 698
            iinc 13 /* bytesRead */ 1
        47: .line 699
            aload 0 /* this */
            lload 21 /* nameId */
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.getNameFromID:(J)Ljava/lang/String;
            astore 24 /* fieldName */
        start local 24 // java.lang.String fieldName
        48: .line 700
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.version:I
            iconst_1
            if_icmplt 50
        49: .line 701
            aload 0 /* this */
            iload 23 /* type */
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.signatureFromTypeId:(B)B
            istore 23 /* type */
        50: .line 703
      StackMap locals: long int java.lang.String
      StackMap stack:
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            iload 23 /* type */
            i2c
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 25 /* signature */
        start local 25 // java.lang.String signature
        51: .line 704
            aload 19 /* fields */
            iload 20 /* i */
            new com.sun.tools.hat.internal.model.JavaField
            dup
            aload 24 /* fieldName */
            aload 25 /* signature */
            invokespecial com.sun.tools.hat.internal.model.JavaField.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            aastore
        end local 25 // java.lang.String signature
        end local 24 // java.lang.String fieldName
        end local 23 // byte type
        end local 21 // long nameId
        52: .line 694
            iinc 20 /* i */ 1
      StackMap locals:
      StackMap stack:
        53: iload 20 /* i */
            iload 18 /* numFields */
            if_icmplt 43
        end local 20 // int i
        54: .line 706
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.classNameFromObjectID:Ljava/util/Hashtable;
            new java.lang.Long
            dup
            lload 1 /* id */
            invokespecial java.lang.Long.<init>:(J)V
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 20 /* name */
        start local 20 // java.lang.String name
        55: .line 707
            aload 20 /* name */
            ifnonnull 58
        56: .line 708
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "Class name not found for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            lload 1 /* id */
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.toHex:(J)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.parser.HprofReader.warn:(Ljava/lang/String;)V
        57: .line 709
            new java.lang.StringBuilder
            dup
            ldc "unknown-name@"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            lload 1 /* id */
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.toHex:(J)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 20 /* name */
        58: .line 711
      StackMap locals: com.sun.tools.hat.internal.parser.HprofReader long com.sun.tools.hat.internal.model.StackTrace long long long long int int int int com.sun.tools.hat.internal.model.JavaThing[] com.sun.tools.hat.internal.model.JavaStatic[] int com.sun.tools.hat.internal.model.JavaField[] java.lang.String
      StackMap stack:
            new com.sun.tools.hat.internal.model.JavaClass
            dup
            lload 1 /* id */
            aload 20 /* name */
            lload 4 /* superId */
            lload 6 /* classLoaderId */
            lload 8 /* signersId */
        59: .line 712
            lload 10 /* protDomainId */
            aload 19 /* fields */
            aload 17 /* statics */
        60: .line 713
            iload 12 /* instanceSize */
        61: .line 711
            invokespecial com.sun.tools.hat.internal.model.JavaClass.<init>:(JLjava/lang/String;JJJJ[Lcom/sun/tools/hat/internal/model/JavaField;[Lcom/sun/tools/hat/internal/model/JavaStatic;I)V
            astore 21 /* c */
        start local 21 // com.sun.tools.hat.internal.model.JavaClass c
        62: .line 714
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.snapshot:Lcom/sun/tools/hat/internal/model/Snapshot;
            lload 1 /* id */
            aload 21 /* c */
            invokevirtual com.sun.tools.hat.internal.model.Snapshot.addClass:(JLcom/sun/tools/hat/internal/model/JavaClass;)V
        63: .line 715
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.snapshot:Lcom/sun/tools/hat/internal/model/Snapshot;
            aload 21 /* c */
            aload 3 /* stackTrace */
            invokevirtual com.sun.tools.hat.internal.model.Snapshot.setSiteTrace:(Lcom/sun/tools/hat/internal/model/JavaHeapObject;Lcom/sun/tools/hat/internal/model/StackTrace;)V
        64: .line 717
            iload 13 /* bytesRead */
            ireturn
        end local 21 // com.sun.tools.hat.internal.model.JavaClass c
        end local 20 // java.lang.String name
        end local 19 // com.sun.tools.hat.internal.model.JavaField[] fields
        end local 18 // int numFields
        end local 17 // com.sun.tools.hat.internal.model.JavaStatic[] statics
        end local 16 // com.sun.tools.hat.internal.model.JavaThing[] valueBin
        end local 15 // int numStatics
        end local 14 // int numConstPoolEntries
        end local 13 // int bytesRead
        end local 12 // int instanceSize
        end local 10 // long protDomainId
        end local 8 // long signersId
        end local 6 // long classLoaderId
        end local 4 // long superId
        end local 3 // com.sun.tools.hat.internal.model.StackTrace stackTrace
        end local 1 // long id
        end local 0 // com.sun.tools.hat.internal.parser.HprofReader this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   65     0                 this  Lcom/sun/tools/hat/internal/parser/HprofReader;
            1   65     1                   id  J
            2   65     3           stackTrace  Lcom/sun/tools/hat/internal/model/StackTrace;
            3   65     4              superId  J
            4   65     6        classLoaderId  J
            5   65     8            signersId  J
            6   65    10         protDomainId  J
            9   65    12         instanceSize  I
           10   65    13            bytesRead  I
           11   65    14  numConstPoolEntries  I
           13   19    15                    i  I
           20   65    15           numStatics  I
           22   65    16             valueBin  [Lcom/sun/tools/hat/internal/model/JavaThing;
           23   65    17              statics  [Lcom/sun/tools/hat/internal/model/JavaStatic;
           24   38    18                    i  I
           26   36    19               nameId  J
           28   36    21                 type  B
           31   36    22            fieldName  Ljava/lang/String;
           34   36    23            signature  Ljava/lang/String;
           35   36    24                    f  Lcom/sun/tools/hat/internal/model/JavaField;
           39   65    18            numFields  I
           41   65    19               fields  [Lcom/sun/tools/hat/internal/model/JavaField;
           42   54    20                    i  I
           44   52    21               nameId  J
           46   52    23                 type  B
           48   52    24            fieldName  Ljava/lang/String;
           51   52    25            signature  Ljava/lang/String;
           55   65    20                 name  Ljava/lang/String;
           62   65    21                    c  Lcom/sun/tools/hat/internal/model/JavaClass;
    Exceptions:
      throws java.io.IOException

  private java.lang.String toHex(long);
    descriptor: (J)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.sun.tools.hat.internal.parser.HprofReader this
        start local 1 // long addr
         0: .line 721
            lload 1 /* addr */
            invokestatic com.sun.tools.hat.internal.util.Misc.toHex:(J)Ljava/lang/String;
            areturn
        end local 1 // long addr
        end local 0 // com.sun.tools.hat.internal.parser.HprofReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/hat/internal/parser/HprofReader;
            0    1     1  addr  J
    MethodParameters:
      Name  Flags
      addr  

  private int readInstance();
    descriptor: ()I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=11, args_size=1
        start local 0 // com.sun.tools.hat.internal.parser.HprofReader this
         0: .line 729
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.in:Lcom/sun/tools/hat/internal/parser/PositionDataInputStream;
            invokevirtual com.sun.tools.hat.internal.parser.PositionDataInputStream.position:()J
            lstore 1 /* start */
        start local 1 // long start
         1: .line 730
            aload 0 /* this */
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.readID:()J
            lstore 3 /* id */
        start local 3 // long id
         2: .line 731
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.in:Lcom/sun/tools/hat/internal/parser/PositionDataInputStream;
            invokevirtual com.sun.tools.hat.internal.parser.PositionDataInputStream.readInt:()I
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.getStackTraceFromSerial:(I)Lcom/sun/tools/hat/internal/model/StackTrace;
            astore 5 /* stackTrace */
        start local 5 // com.sun.tools.hat.internal.model.StackTrace stackTrace
         3: .line 732
            aload 0 /* this */
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.readID:()J
            lstore 6 /* classID */
        start local 6 // long classID
         4: .line 733
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.in:Lcom/sun/tools/hat/internal/parser/PositionDataInputStream;
            invokevirtual com.sun.tools.hat.internal.parser.PositionDataInputStream.readInt:()I
            istore 8 /* bytesFollowing */
        start local 8 // int bytesFollowing
         5: .line 734
            iconst_2
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.identifierSize:I
            imul
            bipush 8
            iadd
            iload 8 /* bytesFollowing */
            iadd
            istore 9 /* bytesRead */
        start local 9 // int bytesRead
         6: .line 735
            new com.sun.tools.hat.internal.model.JavaObject
            dup
            lload 6 /* classID */
            lload 1 /* start */
            invokespecial com.sun.tools.hat.internal.model.JavaObject.<init>:(JJ)V
            astore 10 /* jobj */
        start local 10 // com.sun.tools.hat.internal.model.JavaObject jobj
         7: .line 736
            aload 0 /* this */
            iload 8 /* bytesFollowing */
            i2l
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.skipBytes:(J)V
         8: .line 737
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.snapshot:Lcom/sun/tools/hat/internal/model/Snapshot;
            lload 3 /* id */
            aload 10 /* jobj */
            invokevirtual com.sun.tools.hat.internal.model.Snapshot.addHeapObject:(JLcom/sun/tools/hat/internal/model/JavaHeapObject;)V
         9: .line 738
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.snapshot:Lcom/sun/tools/hat/internal/model/Snapshot;
            aload 10 /* jobj */
            aload 5 /* stackTrace */
            invokevirtual com.sun.tools.hat.internal.model.Snapshot.setSiteTrace:(Lcom/sun/tools/hat/internal/model/JavaHeapObject;Lcom/sun/tools/hat/internal/model/StackTrace;)V
        10: .line 739
            iload 9 /* bytesRead */
            ireturn
        end local 10 // com.sun.tools.hat.internal.model.JavaObject jobj
        end local 9 // int bytesRead
        end local 8 // int bytesFollowing
        end local 6 // long classID
        end local 5 // com.sun.tools.hat.internal.model.StackTrace stackTrace
        end local 3 // long id
        end local 1 // long start
        end local 0 // com.sun.tools.hat.internal.parser.HprofReader this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   11     0            this  Lcom/sun/tools/hat/internal/parser/HprofReader;
            1   11     1           start  J
            2   11     3              id  J
            3   11     5      stackTrace  Lcom/sun/tools/hat/internal/model/StackTrace;
            4   11     6         classID  J
            5   11     8  bytesFollowing  I
            6   11     9       bytesRead  I
            7   11    10            jobj  Lcom/sun/tools/hat/internal/model/JavaObject;
    Exceptions:
      throws java.io.IOException

  private int readArray(boolean);
    descriptor: (Z)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=15, args_size=2
        start local 0 // com.sun.tools.hat.internal.parser.HprofReader this
        start local 1 // boolean isPrimitive
         0: .line 747
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.in:Lcom/sun/tools/hat/internal/parser/PositionDataInputStream;
            invokevirtual com.sun.tools.hat.internal.parser.PositionDataInputStream.position:()J
            lstore 2 /* start */
        start local 2 // long start
         1: .line 748
            aload 0 /* this */
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.readID:()J
            lstore 4 /* id */
        start local 4 // long id
         2: .line 749
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.in:Lcom/sun/tools/hat/internal/parser/PositionDataInputStream;
            invokevirtual com.sun.tools.hat.internal.parser.PositionDataInputStream.readInt:()I
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.getStackTraceFromSerial:(I)Lcom/sun/tools/hat/internal/model/StackTrace;
            astore 6 /* stackTrace */
        start local 6 // com.sun.tools.hat.internal.model.StackTrace stackTrace
         3: .line 750
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.in:Lcom/sun/tools/hat/internal/parser/PositionDataInputStream;
            invokevirtual com.sun.tools.hat.internal.parser.PositionDataInputStream.readInt:()I
            istore 7 /* num */
        start local 7 // int num
         4: .line 751
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.identifierSize:I
            bipush 8
            iadd
            istore 8 /* bytesRead */
        start local 8 // int bytesRead
         5: .line 753
            iload 1 /* isPrimitive */
            ifeq 9
         6: .line 754
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.in:Lcom/sun/tools/hat/internal/parser/PositionDataInputStream;
            invokevirtual com.sun.tools.hat.internal.parser.PositionDataInputStream.readByte:()B
            i2l
            lstore 9 /* elementClassID */
        start local 9 // long elementClassID
         7: .line 755
            iinc 8 /* bytesRead */ 1
         8: .line 756
            goto 11
        end local 9 // long elementClassID
         9: .line 757
      StackMap locals: com.sun.tools.hat.internal.parser.HprofReader int long long com.sun.tools.hat.internal.model.StackTrace int int
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.readID:()J
            lstore 9 /* elementClassID */
        start local 9 // long elementClassID
        10: .line 758
            iload 8 /* bytesRead */
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.identifierSize:I
            iadd
            istore 8 /* bytesRead */
        11: .line 762
      StackMap locals: long
      StackMap stack:
            iconst_0
            istore 11 /* primitiveSignature */
        start local 11 // byte primitiveSignature
        12: .line 763
            iconst_0
            istore 12 /* elSize */
        start local 12 // int elSize
        13: .line 764
            iload 1 /* isPrimitive */
            ifne 14
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.version:I
            iconst_1
            if_icmpge 42
        14: .line 765
      StackMap locals: int int
      StackMap stack:
            lload 9 /* elementClassID */
            l2i
            tableswitch { // 4 - 11
                    4: 15
                    5: 18
                    6: 21
                    7: 24
                    8: 27
                    9: 30
                   10: 33
                   11: 36
              default: 38
          }
        15: .line 767
      StackMap locals:
      StackMap stack:
            bipush 90
            istore 11 /* primitiveSignature */
        16: .line 768
            iconst_1
            istore 12 /* elSize */
        17: .line 769
            goto 38
        18: .line 772
      StackMap locals:
      StackMap stack:
            bipush 67
            istore 11 /* primitiveSignature */
        19: .line 773
            iconst_2
            istore 12 /* elSize */
        20: .line 774
            goto 38
        21: .line 777
      StackMap locals:
      StackMap stack:
            bipush 70
            istore 11 /* primitiveSignature */
        22: .line 778
            iconst_4
            istore 12 /* elSize */
        23: .line 779
            goto 38
        24: .line 782
      StackMap locals:
      StackMap stack:
            bipush 68
            istore 11 /* primitiveSignature */
        25: .line 783
            bipush 8
            istore 12 /* elSize */
        26: .line 784
            goto 38
        27: .line 787
      StackMap locals:
      StackMap stack:
            bipush 66
            istore 11 /* primitiveSignature */
        28: .line 788
            iconst_1
            istore 12 /* elSize */
        29: .line 789
            goto 38
        30: .line 792
      StackMap locals:
      StackMap stack:
            bipush 83
            istore 11 /* primitiveSignature */
        31: .line 793
            iconst_2
            istore 12 /* elSize */
        32: .line 794
            goto 38
        33: .line 797
      StackMap locals:
      StackMap stack:
            bipush 73
            istore 11 /* primitiveSignature */
        34: .line 798
            iconst_4
            istore 12 /* elSize */
        35: .line 799
            goto 38
        36: .line 802
      StackMap locals:
      StackMap stack:
            bipush 74
            istore 11 /* primitiveSignature */
        37: .line 803
            bipush 8
            istore 12 /* elSize */
        38: .line 807
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.version:I
            iconst_1
            if_icmplt 42
            iload 11 /* primitiveSignature */
            ifne 42
        39: .line 808
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unrecognized typecode:  "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        40: .line 809
            lload 9 /* elementClassID */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        41: .line 808
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        42: .line 812
      StackMap locals:
      StackMap stack:
            iload 11 /* primitiveSignature */
            ifeq 50
        43: .line 813
            iload 12 /* elSize */
            iload 7 /* num */
            imul
            istore 13 /* size */
        start local 13 // int size
        44: .line 814
            iload 8 /* bytesRead */
            iload 13 /* size */
            iadd
            istore 8 /* bytesRead */
        45: .line 815
            new com.sun.tools.hat.internal.model.JavaValueArray
            dup
            iload 11 /* primitiveSignature */
            lload 2 /* start */
            invokespecial com.sun.tools.hat.internal.model.JavaValueArray.<init>:(BJ)V
            astore 14 /* va */
        start local 14 // com.sun.tools.hat.internal.model.JavaValueArray va
        46: .line 816
            aload 0 /* this */
            iload 13 /* size */
            i2l
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.skipBytes:(J)V
        47: .line 817
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.snapshot:Lcom/sun/tools/hat/internal/model/Snapshot;
            lload 4 /* id */
            aload 14 /* va */
            invokevirtual com.sun.tools.hat.internal.model.Snapshot.addHeapObject:(JLcom/sun/tools/hat/internal/model/JavaHeapObject;)V
        48: .line 818
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.snapshot:Lcom/sun/tools/hat/internal/model/Snapshot;
            aload 14 /* va */
            aload 6 /* stackTrace */
            invokevirtual com.sun.tools.hat.internal.model.Snapshot.setSiteTrace:(Lcom/sun/tools/hat/internal/model/JavaHeapObject;Lcom/sun/tools/hat/internal/model/StackTrace;)V
        end local 14 // com.sun.tools.hat.internal.model.JavaValueArray va
        end local 13 // int size
        49: .line 819
            goto 56
        50: .line 820
      StackMap locals:
      StackMap stack:
            iload 7 /* num */
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.identifierSize:I
            imul
            istore 13 /* sz */
        start local 13 // int sz
        51: .line 821
            iload 8 /* bytesRead */
            iload 13 /* sz */
            iadd
            istore 8 /* bytesRead */
        52: .line 822
            new com.sun.tools.hat.internal.model.JavaObjectArray
            dup
            lload 9 /* elementClassID */
            lload 2 /* start */
            invokespecial com.sun.tools.hat.internal.model.JavaObjectArray.<init>:(JJ)V
            astore 14 /* arr */
        start local 14 // com.sun.tools.hat.internal.model.JavaObjectArray arr
        53: .line 823
            aload 0 /* this */
            iload 13 /* sz */
            i2l
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.skipBytes:(J)V
        54: .line 824
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.snapshot:Lcom/sun/tools/hat/internal/model/Snapshot;
            lload 4 /* id */
            aload 14 /* arr */
            invokevirtual com.sun.tools.hat.internal.model.Snapshot.addHeapObject:(JLcom/sun/tools/hat/internal/model/JavaHeapObject;)V
        55: .line 825
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.snapshot:Lcom/sun/tools/hat/internal/model/Snapshot;
            aload 14 /* arr */
            aload 6 /* stackTrace */
            invokevirtual com.sun.tools.hat.internal.model.Snapshot.setSiteTrace:(Lcom/sun/tools/hat/internal/model/JavaHeapObject;Lcom/sun/tools/hat/internal/model/StackTrace;)V
        end local 14 // com.sun.tools.hat.internal.model.JavaObjectArray arr
        end local 13 // int sz
        56: .line 827
      StackMap locals:
      StackMap stack:
            iload 8 /* bytesRead */
            ireturn
        end local 12 // int elSize
        end local 11 // byte primitiveSignature
        end local 9 // long elementClassID
        end local 8 // int bytesRead
        end local 7 // int num
        end local 6 // com.sun.tools.hat.internal.model.StackTrace stackTrace
        end local 4 // long id
        end local 2 // long start
        end local 1 // boolean isPrimitive
        end local 0 // com.sun.tools.hat.internal.parser.HprofReader this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   57     0                this  Lcom/sun/tools/hat/internal/parser/HprofReader;
            0   57     1         isPrimitive  Z
            1   57     2               start  J
            2   57     4                  id  J
            3   57     6          stackTrace  Lcom/sun/tools/hat/internal/model/StackTrace;
            4   57     7                 num  I
            5   57     8           bytesRead  I
            7    9     9      elementClassID  J
           10   57     9      elementClassID  J
           12   57    11  primitiveSignature  B
           13   57    12              elSize  I
           44   49    13                size  I
           46   49    14                  va  Lcom/sun/tools/hat/internal/model/JavaValueArray;
           51   56    13                  sz  I
           53   56    14                 arr  Lcom/sun/tools/hat/internal/model/JavaObjectArray;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      isPrimitive  

  private byte signatureFromTypeId(byte);
    descriptor: (B)B
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // com.sun.tools.hat.internal.parser.HprofReader this
        start local 1 // byte typeId
         0: .line 831
            iload 1 /* typeId */
            tableswitch { // 2 - 11
                    2: 1
                    3: 10
                    4: 2
                    5: 3
                    6: 4
                    7: 5
                    8: 6
                    9: 7
                   10: 8
                   11: 9
              default: 10
          }
         1: .line 833
      StackMap locals:
      StackMap stack:
            bipush 76
            ireturn
         2: .line 836
      StackMap locals:
      StackMap stack:
            bipush 90
            ireturn
         3: .line 839
      StackMap locals:
      StackMap stack:
            bipush 67
            ireturn
         4: .line 842
      StackMap locals:
      StackMap stack:
            bipush 70
            ireturn
         5: .line 845
      StackMap locals:
      StackMap stack:
            bipush 68
            ireturn
         6: .line 848
      StackMap locals:
      StackMap stack:
            bipush 66
            ireturn
         7: .line 851
      StackMap locals:
      StackMap stack:
            bipush 83
            ireturn
         8: .line 854
      StackMap locals:
      StackMap stack:
            bipush 73
            ireturn
         9: .line 857
      StackMap locals:
      StackMap stack:
            bipush 74
            ireturn
        10: .line 860
      StackMap locals:
      StackMap stack:
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid type id of "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* typeId */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // byte typeId
        end local 0 // com.sun.tools.hat.internal.parser.HprofReader this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0    this  Lcom/sun/tools/hat/internal/parser/HprofReader;
            0   11     1  typeId  B
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      typeId  

  private void handleEOF(java.io.EOFException, com.sun.tools.hat.internal.model.Snapshot);
    descriptor: (Ljava/io/EOFException;Lcom/sun/tools/hat/internal/model/Snapshot;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.sun.tools.hat.internal.parser.HprofReader this
        start local 1 // java.io.EOFException exp
        start local 2 // com.sun.tools.hat.internal.model.Snapshot snapshot
         0: .line 866
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.parser.HprofReader.debugLevel:I
            ifle 2
         1: .line 867
            aload 1 /* exp */
            invokevirtual java.io.EOFException.printStackTrace:()V
         2: .line 869
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "Unexpected EOF. Will miss information..."
            invokevirtual com.sun.tools.hat.internal.parser.HprofReader.warn:(Ljava/lang/String;)V
         3: .line 871
            aload 2 /* snapshot */
            iconst_1
            invokevirtual com.sun.tools.hat.internal.model.Snapshot.setUnresolvedObjectsOK:(Z)V
         4: .line 872
            return
        end local 2 // com.sun.tools.hat.internal.model.Snapshot snapshot
        end local 1 // java.io.EOFException exp
        end local 0 // com.sun.tools.hat.internal.parser.HprofReader this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lcom/sun/tools/hat/internal/parser/HprofReader;
            0    5     1       exp  Ljava/io/EOFException;
            0    5     2  snapshot  Lcom/sun/tools/hat/internal/model/Snapshot;
    MethodParameters:
          Name  Flags
      exp       
      snapshot  

  private void warn(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.sun.tools.hat.internal.parser.HprofReader this
        start local 1 // java.lang.String msg
         0: .line 875
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "WARNING: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* msg */
            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: .line 876
            return
        end local 1 // java.lang.String msg
        end local 0 // com.sun.tools.hat.internal.parser.HprofReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/hat/internal/parser/HprofReader;
            0    2     1   msg  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      msg   
}
SourceFile: "HprofReader.java"
NestMembers:
  com.sun.tools.hat.internal.parser.HprofReader$ThreadObject
InnerClasses:
  private ThreadObject = com.sun.tools.hat.internal.parser.HprofReader$ThreadObject of com.sun.tools.hat.internal.parser.HprofReader