public class sun.jvm.hotspot.utilities.HeapHprofBinWriter extends sun.jvm.hotspot.utilities.AbstractHeapGraphWriter
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.jvm.hotspot.utilities.HeapHprofBinWriter
  super_class: sun.jvm.hotspot.utilities.AbstractHeapGraphWriter
{
  private java.util.HashSet<sun.jvm.hotspot.oops.Symbol> names;
    descriptor: Ljava/util/HashSet;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/HashSet<Lsun/jvm/hotspot/oops/Symbol;>;

  private static final long HPROF_SEGMENTED_HEAP_DUMP_THRESHOLD;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2147483648

  private static final long HPROF_SEGMENTED_HEAP_DUMP_SEGMENT_SIZE;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1073741824

  private static final java.lang.String HPROF_HEADER_1_0_2;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "JAVA PROFILE 1.0.2"

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  private static final long MAX_U4_VALUE;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 4294967295

  int serialNum;
    descriptor: I
    flags: (0x0000) 

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

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

  private java.io.DataOutputStream out;
    descriptor: Ljava/io/DataOutputStream;
    flags: (0x0002) ACC_PRIVATE

  private java.io.FileOutputStream fos;
    descriptor: Ljava/io/FileOutputStream;
    flags: (0x0002) ACC_PRIVATE

  private sun.jvm.hotspot.debugger.Debugger dbg;
    descriptor: Lsun/jvm/hotspot/debugger/Debugger;
    flags: (0x0002) ACC_PRIVATE

  private sun.jvm.hotspot.oops.ObjectHeap objectHeap;
    descriptor: Lsun/jvm/hotspot/oops/ObjectHeap;
    flags: (0x0002) ACC_PRIVATE

  private java.util.ArrayList<sun.jvm.hotspot.oops.Klass> KlassMap;
    descriptor: Ljava/util/ArrayList;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/ArrayList<Lsun/jvm/hotspot/oops/Klass;>;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  private java.util.Map classDataCache;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 311
            ldc Lsun/jvm/hotspot/utilities/HeapHprofBinWriter;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic sun.jvm.hotspot.utilities.HeapHprofBinWriter.$assertionsDisabled:Z
         3: .line 1232
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.jvm.hotspot.utilities.HeapHprofBinWriter this
         0: .line 386
            aload 0 /* this */
            invokespecial sun.jvm.hotspot.utilities.AbstractHeapGraphWriter.<init>:()V
         1: .line 384
            aload 0 /* this */
            iconst_1
            putfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.serialNum:I
         2: .line 1276
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.classDataCache:Ljava/util/Map;
         3: .line 387
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.KlassMap:Ljava/util/ArrayList;
         4: .line 388
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.names:Ljava/util/HashSet;
         5: .line 389
            return
        end local 0 // sun.jvm.hotspot.utilities.HeapHprofBinWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lsun/jvm/hotspot/utilities/HeapHprofBinWriter;

  public synchronized void write(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // sun.jvm.hotspot.utilities.HeapHprofBinWriter this
        start local 1 // java.lang.String fileName
         0: .line 392
            invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
            astore 2 /* vm */
        start local 2 // sun.jvm.hotspot.runtime.VM vm
         1: .line 395
            aload 0 /* this */
            new java.io.FileOutputStream
            dup
            aload 1 /* fileName */
            invokespecial java.io.FileOutputStream.<init>:(Ljava/lang/String;)V
            putfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.fos:Ljava/io/FileOutputStream;
         2: .line 396
            aload 0 /* this */
            new java.io.DataOutputStream
            dup
            new java.io.BufferedOutputStream
            dup
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.fos:Ljava/io/FileOutputStream;
            invokespecial java.io.BufferedOutputStream.<init>:(Ljava/io/OutputStream;)V
            invokespecial java.io.DataOutputStream.<init>:(Ljava/io/OutputStream;)V
            putfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.out:Ljava/io/DataOutputStream;
         3: .line 398
            aload 0 /* this */
            aload 2 /* vm */
            invokevirtual sun.jvm.hotspot.runtime.VM.getDebugger:()Lsun/jvm/hotspot/debugger/JVMDebugger;
            putfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.dbg:Lsun/jvm/hotspot/debugger/Debugger;
         4: .line 399
            aload 0 /* this */
            aload 2 /* vm */
            invokevirtual sun.jvm.hotspot.runtime.VM.getObjectHeap:()Lsun/jvm/hotspot/oops/ObjectHeap;
            putfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.objectHeap:Lsun/jvm/hotspot/oops/ObjectHeap;
         5: .line 401
            aload 0 /* this */
            aload 2 /* vm */
            invokevirtual sun.jvm.hotspot.runtime.VM.getOopSize:()J
            l2i
            putfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.OBJ_ID_SIZE:I
         6: .line 403
            aload 0 /* this */
            getstatic sun.jvm.hotspot.runtime.BasicType.T_BOOLEAN:Lsun/jvm/hotspot/runtime/BasicType;
            invokestatic sun.jvm.hotspot.oops.TypeArray.baseOffsetInBytes:(Lsun/jvm/hotspot/runtime/BasicType;)J
            putfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.BOOLEAN_BASE_OFFSET:J
         7: .line 404
            aload 0 /* this */
            getstatic sun.jvm.hotspot.runtime.BasicType.T_BYTE:Lsun/jvm/hotspot/runtime/BasicType;
            invokestatic sun.jvm.hotspot.oops.TypeArray.baseOffsetInBytes:(Lsun/jvm/hotspot/runtime/BasicType;)J
            putfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.BYTE_BASE_OFFSET:J
         8: .line 405
            aload 0 /* this */
            getstatic sun.jvm.hotspot.runtime.BasicType.T_CHAR:Lsun/jvm/hotspot/runtime/BasicType;
            invokestatic sun.jvm.hotspot.oops.TypeArray.baseOffsetInBytes:(Lsun/jvm/hotspot/runtime/BasicType;)J
            putfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.CHAR_BASE_OFFSET:J
         9: .line 406
            aload 0 /* this */
            getstatic sun.jvm.hotspot.runtime.BasicType.T_SHORT:Lsun/jvm/hotspot/runtime/BasicType;
            invokestatic sun.jvm.hotspot.oops.TypeArray.baseOffsetInBytes:(Lsun/jvm/hotspot/runtime/BasicType;)J
            putfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.SHORT_BASE_OFFSET:J
        10: .line 407
            aload 0 /* this */
            getstatic sun.jvm.hotspot.runtime.BasicType.T_INT:Lsun/jvm/hotspot/runtime/BasicType;
            invokestatic sun.jvm.hotspot.oops.TypeArray.baseOffsetInBytes:(Lsun/jvm/hotspot/runtime/BasicType;)J
            putfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.INT_BASE_OFFSET:J
        11: .line 408
            aload 0 /* this */
            getstatic sun.jvm.hotspot.runtime.BasicType.T_LONG:Lsun/jvm/hotspot/runtime/BasicType;
            invokestatic sun.jvm.hotspot.oops.TypeArray.baseOffsetInBytes:(Lsun/jvm/hotspot/runtime/BasicType;)J
            putfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.LONG_BASE_OFFSET:J
        12: .line 409
            aload 0 /* this */
            getstatic sun.jvm.hotspot.runtime.BasicType.T_FLOAT:Lsun/jvm/hotspot/runtime/BasicType;
            invokestatic sun.jvm.hotspot.oops.TypeArray.baseOffsetInBytes:(Lsun/jvm/hotspot/runtime/BasicType;)J
            putfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.FLOAT_BASE_OFFSET:J
        13: .line 410
            aload 0 /* this */
            getstatic sun.jvm.hotspot.runtime.BasicType.T_DOUBLE:Lsun/jvm/hotspot/runtime/BasicType;
            invokestatic sun.jvm.hotspot.oops.TypeArray.baseOffsetInBytes:(Lsun/jvm/hotspot/runtime/BasicType;)J
            putfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.DOUBLE_BASE_OFFSET:J
        14: .line 411
            aload 0 /* this */
            getstatic sun.jvm.hotspot.runtime.BasicType.T_OBJECT:Lsun/jvm/hotspot/runtime/BasicType;
            invokestatic sun.jvm.hotspot.oops.TypeArray.baseOffsetInBytes:(Lsun/jvm/hotspot/runtime/BasicType;)J
            putfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.OBJECT_BASE_OFFSET:J
        15: .line 413
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.objectHeap:Lsun/jvm/hotspot/oops/ObjectHeap;
            invokevirtual sun.jvm.hotspot.oops.ObjectHeap.getBooleanSize:()J
            putfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.BOOLEAN_SIZE:J
        16: .line 414
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.objectHeap:Lsun/jvm/hotspot/oops/ObjectHeap;
            invokevirtual sun.jvm.hotspot.oops.ObjectHeap.getByteSize:()J
            putfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.BYTE_SIZE:J
        17: .line 415
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.objectHeap:Lsun/jvm/hotspot/oops/ObjectHeap;
            invokevirtual sun.jvm.hotspot.oops.ObjectHeap.getCharSize:()J
            putfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.CHAR_SIZE:J
        18: .line 416
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.objectHeap:Lsun/jvm/hotspot/oops/ObjectHeap;
            invokevirtual sun.jvm.hotspot.oops.ObjectHeap.getShortSize:()J
            putfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.SHORT_SIZE:J
        19: .line 417
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.objectHeap:Lsun/jvm/hotspot/oops/ObjectHeap;
            invokevirtual sun.jvm.hotspot.oops.ObjectHeap.getIntSize:()J
            putfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.INT_SIZE:J
        20: .line 418
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.objectHeap:Lsun/jvm/hotspot/oops/ObjectHeap;
            invokevirtual sun.jvm.hotspot.oops.ObjectHeap.getLongSize:()J
            putfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.LONG_SIZE:J
        21: .line 419
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.objectHeap:Lsun/jvm/hotspot/oops/ObjectHeap;
            invokevirtual sun.jvm.hotspot.oops.ObjectHeap.getFloatSize:()J
            putfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.FLOAT_SIZE:J
        22: .line 420
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.objectHeap:Lsun/jvm/hotspot/oops/ObjectHeap;
            invokevirtual sun.jvm.hotspot.oops.ObjectHeap.getDoubleSize:()J
            putfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.DOUBLE_SIZE:J
        23: .line 423
            aload 0 /* this */
            aload 2 /* vm */
            invokevirtual sun.jvm.hotspot.runtime.VM.getUniverse:()Lsun/jvm/hotspot/memory/Universe;
            invokevirtual sun.jvm.hotspot.memory.Universe.heap:()Lsun/jvm/hotspot/gc/shared/CollectedHeap;
            invokevirtual sun.jvm.hotspot.gc.shared.CollectedHeap.used:()J
            ldc 2147483648
            lcmp
            ifle 24
            iconst_1
            goto 25
      StackMap locals: sun.jvm.hotspot.utilities.HeapHprofBinWriter java.lang.String sun.jvm.hotspot.runtime.VM
      StackMap stack: sun.jvm.hotspot.utilities.HeapHprofBinWriter
        24: iconst_0
      StackMap locals: sun.jvm.hotspot.utilities.HeapHprofBinWriter java.lang.String sun.jvm.hotspot.runtime.VM
      StackMap stack: sun.jvm.hotspot.utilities.HeapHprofBinWriter int
        25: putfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.useSegmentedHeapDump:Z
        26: .line 426
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.writeFileHeader:()V
        27: .line 430
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.writeDummyTrace:()V
        28: .line 433
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.writeSymbols:()V
        29: .line 436
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.writeClasses:()V
        30: .line 439
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.dumpStackTraces:()V
        31: .line 442
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.writeClassDumpRecords:()V
        32: .line 445
            aload 0 /* this */
            invokespecial sun.jvm.hotspot.utilities.AbstractHeapGraphWriter.write:()V
        33: .line 448
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.out:Ljava/io/DataOutputStream;
            invokevirtual java.io.DataOutputStream.flush:()V
        34: .line 451
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.fillInHeapRecordLength:()V
        35: .line 453
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.useSegmentedHeapDump:Z
            ifeq 39
        36: .line 455
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.out:Ljava/io/DataOutputStream;
            bipush 44
            invokevirtual java.io.DataOutputStream.writeByte:(I)V
        37: .line 456
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.out:Ljava/io/DataOutputStream;
            iconst_0
            invokevirtual java.io.DataOutputStream.writeInt:(I)V
        38: .line 457
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.out:Ljava/io/DataOutputStream;
            iconst_0
            invokevirtual java.io.DataOutputStream.writeInt:(I)V
        39: .line 461
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.out:Ljava/io/DataOutputStream;
            invokevirtual java.io.DataOutputStream.flush:()V
        40: .line 462
            aload 0 /* this */
            aconst_null
            putfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.out:Ljava/io/DataOutputStream;
        41: .line 465
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.fos:Ljava/io/FileOutputStream;
            invokevirtual java.io.FileOutputStream.close:()V
        42: .line 466
            return
        end local 2 // sun.jvm.hotspot.runtime.VM vm
        end local 1 // java.lang.String fileName
        end local 0 // sun.jvm.hotspot.utilities.HeapHprofBinWriter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   43     0      this  Lsun/jvm/hotspot/utilities/HeapHprofBinWriter;
            0   43     1  fileName  Ljava/lang/String;
            1   43     2        vm  Lsun/jvm/hotspot/runtime/VM;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      fileName  

  protected void writeHeapRecordPrologue();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // sun.jvm.hotspot.utilities.HeapHprofBinWriter this
         0: .line 470
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.currentSegmentStart:J
            lconst_0
            lcmp
            ifne 9
         1: .line 473
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.out:Ljava/io/DataOutputStream;
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.useSegmentedHeapDump:Z
            ifeq 2
            bipush 28
            goto 3
         2: .line 474
      StackMap locals:
      StackMap stack: java.io.DataOutputStream
            bipush 12
      StackMap locals: sun.jvm.hotspot.utilities.HeapHprofBinWriter
      StackMap stack: java.io.DataOutputStream int
         3: i2b
         4: .line 473
            invokevirtual java.io.DataOutputStream.writeByte:(I)V
         5: .line 475
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.out:Ljava/io/DataOutputStream;
            iconst_0
            invokevirtual java.io.DataOutputStream.writeInt:(I)V
         6: .line 479
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.out:Ljava/io/DataOutputStream;
            invokevirtual java.io.DataOutputStream.flush:()V
         7: .line 480
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.fos:Ljava/io/FileOutputStream;
            invokevirtual java.io.FileOutputStream.getChannel:()Ljava/nio/channels/FileChannel;
            invokevirtual java.nio.channels.FileChannel.position:()J
            putfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.currentSegmentStart:J
         8: .line 482
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.out:Ljava/io/DataOutputStream;
            iconst_0
            invokevirtual java.io.DataOutputStream.writeInt:(I)V
         9: .line 484
      StackMap locals:
      StackMap stack:
            return
        end local 0 // sun.jvm.hotspot.utilities.HeapHprofBinWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lsun/jvm/hotspot/utilities/HeapHprofBinWriter;
    Exceptions:
      throws java.io.IOException

  protected void writeHeapRecordEpilogue();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // sun.jvm.hotspot.utilities.HeapHprofBinWriter this
         0: .line 488
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.useSegmentedHeapDump:Z
            ifeq 5
         1: .line 489
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.out:Ljava/io/DataOutputStream;
            invokevirtual java.io.DataOutputStream.flush:()V
         2: .line 490
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.fos:Ljava/io/FileOutputStream;
            invokevirtual java.io.FileOutputStream.getChannel:()Ljava/nio/channels/FileChannel;
            invokevirtual java.nio.channels.FileChannel.position:()J
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.currentSegmentStart:J
            lsub
            ldc 4
            lsub
            ldc 1073741824
            lcmp
            iflt 5
         3: .line 491
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.fillInHeapRecordLength:()V
         4: .line 492
            aload 0 /* this */
            lconst_0
            putfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.currentSegmentStart:J
         5: .line 495
      StackMap locals:
      StackMap stack:
            return
        end local 0 // sun.jvm.hotspot.utilities.HeapHprofBinWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lsun/jvm/hotspot/utilities/HeapHprofBinWriter;
    Exceptions:
      throws java.io.IOException

  private void fillInHeapRecordLength();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=8, args_size=1
        start local 0 // sun.jvm.hotspot.utilities.HeapHprofBinWriter this
         0: .line 500
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.fos:Ljava/io/FileOutputStream;
            invokevirtual java.io.FileOutputStream.getChannel:()Ljava/nio/channels/FileChannel;
            invokevirtual java.nio.channels.FileChannel.position:()J
            lstore 1 /* dumpEnd */
        start local 1 // long dumpEnd
         1: .line 503
            lload 1 /* dumpEnd */
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.currentSegmentStart:J
            lsub
            ldc 4
            lsub
            lstore 3 /* dumpLenLong */
        start local 3 // long dumpLenLong
         2: .line 506
            lload 3 /* dumpLenLong */
            ldc 4294967296
            lcmp
            iflt 4
         3: .line 507
            new java.lang.RuntimeException
            dup
            ldc "Heap segment size overflow."
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 511
      StackMap locals: long long
      StackMap stack:
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.fos:Ljava/io/FileOutputStream;
            invokevirtual java.io.FileOutputStream.getChannel:()Ljava/nio/channels/FileChannel;
            invokevirtual java.nio.channels.FileChannel.position:()J
            lstore 5 /* currentPosition */
        start local 5 // long currentPosition
         5: .line 514
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.fos:Ljava/io/FileOutputStream;
            invokevirtual java.io.FileOutputStream.getChannel:()Ljava/nio/channels/FileChannel;
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.currentSegmentStart:J
            invokevirtual java.nio.channels.FileChannel.position:(J)Ljava/nio/channels/FileChannel;
            pop
         6: .line 516
            lload 3 /* dumpLenLong */
            l2i
            istore 7 /* dumpLen */
        start local 7 // int dumpLen
         7: .line 519
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.fos:Ljava/io/FileOutputStream;
            iload 7 /* dumpLen */
            bipush 24
            iushr
            sipush 255
            iand
            invokevirtual java.io.FileOutputStream.write:(I)V
         8: .line 520
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.fos:Ljava/io/FileOutputStream;
            iload 7 /* dumpLen */
            bipush 16
            iushr
            sipush 255
            iand
            invokevirtual java.io.FileOutputStream.write:(I)V
         9: .line 521
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.fos:Ljava/io/FileOutputStream;
            iload 7 /* dumpLen */
            bipush 8
            iushr
            sipush 255
            iand
            invokevirtual java.io.FileOutputStream.write:(I)V
        10: .line 522
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.fos:Ljava/io/FileOutputStream;
            iload 7 /* dumpLen */
            iconst_0
            iushr
            sipush 255
            iand
            invokevirtual java.io.FileOutputStream.write:(I)V
        11: .line 525
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.fos:Ljava/io/FileOutputStream;
            invokevirtual java.io.FileOutputStream.getChannel:()Ljava/nio/channels/FileChannel;
            lload 5 /* currentPosition */
            invokevirtual java.nio.channels.FileChannel.position:(J)Ljava/nio/channels/FileChannel;
            pop
        12: .line 526
            return
        end local 7 // int dumpLen
        end local 5 // long currentPosition
        end local 3 // long dumpLenLong
        end local 1 // long dumpEnd
        end local 0 // sun.jvm.hotspot.utilities.HeapHprofBinWriter this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   13     0             this  Lsun/jvm/hotspot/utilities/HeapHprofBinWriter;
            1   13     1          dumpEnd  J
            2   13     3      dumpLenLong  J
            5   13     5  currentPosition  J
            7   13     7          dumpLen  I
    Exceptions:
      throws java.io.IOException

  private long getSizeForType(int);
    descriptor: (I)J
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // sun.jvm.hotspot.utilities.HeapHprofBinWriter this
        start local 1 // int type
         0: .line 530
            iload 1 /* type */
            tableswitch { // 4 - 11
                    4: 1
                    5: 3
                    6: 7
                    7: 8
                    8: 5
                    9: 4
                   10: 2
                   11: 6
              default: 9
          }
         1: .line 532
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.BOOLEAN_SIZE:J
            lreturn
         2: .line 534
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.INT_SIZE:J
            lreturn
         3: .line 536
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.CHAR_SIZE:J
            lreturn
         4: .line 538
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.SHORT_SIZE:J
            lreturn
         5: .line 540
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.BYTE_SIZE:J
            lreturn
         6: .line 542
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.LONG_SIZE:J
            lreturn
         7: .line 544
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.FLOAT_SIZE:J
            lreturn
         8: .line 546
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.DOUBLE_SIZE:J
            lreturn
         9: .line 548
      StackMap locals:
      StackMap stack:
            new java.lang.RuntimeException
            dup
        10: .line 549
            new java.lang.StringBuilder
            dup
            ldc "Should not reach here: Unknown 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;
        11: .line 548
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // int type
        end local 0 // sun.jvm.hotspot.utilities.HeapHprofBinWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lsun/jvm/hotspot/utilities/HeapHprofBinWriter;
            0   12     1  type  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      type  

  private int getArrayHeaderSize(boolean);
    descriptor: (Z)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // sun.jvm.hotspot.utilities.HeapHprofBinWriter this
        start local 1 // boolean isObjectAarray
         0: .line 554
            iload 1 /* isObjectAarray */
            ifeq 2
         1: .line 555
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.BYTE_SIZE:J
            l2i
            iconst_2
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.INT_SIZE:J
            l2i
            imul
            iadd
            iconst_2
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.OBJ_ID_SIZE:I
            imul
            iadd
            goto 3
         2: .line 556
      StackMap locals:
      StackMap stack:
            iconst_2
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.BYTE_SIZE:J
            l2i
            imul
            iconst_2
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.INT_SIZE:J
            l2i
            imul
            iadd
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.OBJ_ID_SIZE:I
            iadd
         3: .line 554
      StackMap locals:
      StackMap stack: int
            ireturn
        end local 1 // boolean isObjectAarray
        end local 0 // sun.jvm.hotspot.utilities.HeapHprofBinWriter this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    4     0            this  Lsun/jvm/hotspot/utilities/HeapHprofBinWriter;
            0    4     1  isObjectAarray  Z
    MethodParameters:
                Name  Flags
      isObjectAarray  

  private int calculateArrayMaxLength(long, int, long, java.lang.String);
    descriptor: (JIJLjava/lang/String;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=17, args_size=5
        start local 0 // sun.jvm.hotspot.utilities.HeapHprofBinWriter this
        start local 1 // long originalArrayLength
        start local 3 // int headerSize
        start local 4 // long typeSize
        start local 6 // java.lang.String typeName
         0: .line 565
            lload 1 /* originalArrayLength */
            lstore 7 /* length */
        start local 7 // long length
         1: .line 568
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.fos:Ljava/io/FileOutputStream;
            invokevirtual java.io.FileOutputStream.getChannel:()Ljava/nio/channels/FileChannel;
            invokevirtual java.nio.channels.FileChannel.position:()J
            lstore 9 /* dumpEnd */
        start local 9 // long dumpEnd
         2: .line 569
            lload 1 /* originalArrayLength */
            lload 4 /* typeSize */
            lmul
            lstore 11 /* originalLengthInBytes */
        start local 11 // long originalLengthInBytes
         3: .line 572
            lload 9 /* dumpEnd */
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.currentSegmentStart:J
            lsub
            ldc 4
            lsub
            lstore 13 /* currentRecordLength */
        start local 13 // long currentRecordLength
         4: .line 573
            lload 13 /* currentRecordLength */
            lconst_0
            lcmp
            ifle 10
         5: .line 574
            lload 13 /* currentRecordLength */
            iload 3 /* headerSize */
            i2l
            ladd
            lload 11 /* originalLengthInBytes */
            ladd
            ldc 4294967295
            lcmp
            ifle 10
         6: .line 575
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.fillInHeapRecordLength:()V
         7: .line 576
            aload 0 /* this */
            lconst_0
            putfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.currentSegmentStart:J
         8: .line 577
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.writeHeapRecordPrologue:()V
         9: .line 578
            lconst_0
            lstore 13 /* currentRecordLength */
        10: .line 582
      StackMap locals: sun.jvm.hotspot.utilities.HeapHprofBinWriter long int long java.lang.String long long long long
      StackMap stack:
            ldc 4294967295
            iload 3 /* headerSize */
            i2l
            lload 13 /* currentRecordLength */
            ladd
            lsub
            lstore 15 /* maxBytes */
        start local 15 // long maxBytes
        11: .line 584
            lload 11 /* originalLengthInBytes */
            lload 15 /* maxBytes */
            lcmp
            ifle 17
        12: .line 585
            lload 15 /* maxBytes */
            lload 4 /* typeSize */
            ldiv
            lstore 7 /* length */
        13: .line 586
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "WARNING: Cannot dump array of type "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* typeName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        14: .line 587
            ldc " with length "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            lload 1 /* originalArrayLength */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
        15: .line 588
            ldc "; truncating to length "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            lload 7 /* length */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        16: .line 586
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        17: .line 590
      StackMap locals: long
      StackMap stack:
            lload 7 /* length */
            l2i
            ireturn
        end local 15 // long maxBytes
        end local 13 // long currentRecordLength
        end local 11 // long originalLengthInBytes
        end local 9 // long dumpEnd
        end local 7 // long length
        end local 6 // java.lang.String typeName
        end local 4 // long typeSize
        end local 3 // int headerSize
        end local 1 // long originalArrayLength
        end local 0 // sun.jvm.hotspot.utilities.HeapHprofBinWriter this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   18     0                   this  Lsun/jvm/hotspot/utilities/HeapHprofBinWriter;
            0   18     1    originalArrayLength  J
            0   18     3             headerSize  I
            0   18     4               typeSize  J
            0   18     6               typeName  Ljava/lang/String;
            1   18     7                 length  J
            2   18     9                dumpEnd  J
            3   18    11  originalLengthInBytes  J
            4   18    13    currentRecordLength  J
           11   18    15               maxBytes  J
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                     Name  Flags
      originalArrayLength  
      headerSize           
      typeSize             
      typeName             

  private void writeClassDumpRecords();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // sun.jvm.hotspot.utilities.HeapHprofBinWriter this
         0: .line 594
            invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
            invokevirtual sun.jvm.hotspot.runtime.VM.getClassLoaderDataGraph:()Lsun/jvm/hotspot/classfile/ClassLoaderDataGraph;
            astore 1 /* cldGraph */
        start local 1 // sun.jvm.hotspot.classfile.ClassLoaderDataGraph cldGraph
         1: .line 596
            aload 1 /* cldGraph */
            new sun.jvm.hotspot.utilities.HeapHprofBinWriter$1
            dup
            aload 0 /* this */
            invokespecial sun.jvm.hotspot.utilities.HeapHprofBinWriter$1.<init>:(Lsun/jvm/hotspot/utilities/HeapHprofBinWriter;)V
            invokevirtual sun.jvm.hotspot.classfile.ClassLoaderDataGraph.classesDo:(Lsun/jvm/hotspot/classfile/ClassLoaderDataGraph$ClassVisitor;)V
         2: .line 607
            goto 5
      StackMap locals: sun.jvm.hotspot.utilities.HeapHprofBinWriter sun.jvm.hotspot.classfile.ClassLoaderDataGraph
      StackMap stack: java.lang.RuntimeException
         3: astore 2 /* re */
        start local 2 // java.lang.RuntimeException re
         4: .line 608
            aload 0 /* this */
            aload 2 /* re */
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.handleRuntimeException:(Ljava/lang/RuntimeException;)V
        end local 2 // java.lang.RuntimeException re
         5: .line 610
      StackMap locals:
      StackMap stack:
            return
        end local 1 // sun.jvm.hotspot.classfile.ClassLoaderDataGraph cldGraph
        end local 0 // sun.jvm.hotspot.utilities.HeapHprofBinWriter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lsun/jvm/hotspot/utilities/HeapHprofBinWriter;
            1    6     1  cldGraph  Lsun/jvm/hotspot/classfile/ClassLoaderDataGraph;
            4    5     2        re  Ljava/lang/RuntimeException;
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.RuntimeException
    Exceptions:
      throws java.io.IOException

  protected void writeClass(sun.jvm.hotspot.oops.Instance);
    descriptor: (Lsun/jvm/hotspot/oops/Instance;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // sun.jvm.hotspot.utilities.HeapHprofBinWriter this
        start local 1 // sun.jvm.hotspot.oops.Instance instance
         0: .line 613
            aload 1 /* instance */
            invokestatic sun.jvm.hotspot.oops.java_lang_Class.asKlass:(Lsun/jvm/hotspot/oops/Oop;)Lsun/jvm/hotspot/oops/Klass;
            astore 2 /* reflectedKlass */
        start local 2 // sun.jvm.hotspot.oops.Klass reflectedKlass
         1: .line 616
            aload 2 /* reflectedKlass */
            ifnonnull 3
         2: .line 617
            aload 0 /* this */
            aload 1 /* instance */
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.writeInstance:(Lsun/jvm/hotspot/oops/Instance;)V
         3: .line 619
      StackMap locals: sun.jvm.hotspot.oops.Klass
      StackMap stack:
            return
        end local 2 // sun.jvm.hotspot.oops.Klass reflectedKlass
        end local 1 // sun.jvm.hotspot.oops.Instance instance
        end local 0 // sun.jvm.hotspot.utilities.HeapHprofBinWriter this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    4     0            this  Lsun/jvm/hotspot/utilities/HeapHprofBinWriter;
            0    4     1        instance  Lsun/jvm/hotspot/oops/Instance;
            1    4     2  reflectedKlass  Lsun/jvm/hotspot/oops/Klass;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      instance  

  private void writeClassDumpRecord(sun.jvm.hotspot.oops.Klass);
    descriptor: (Lsun/jvm/hotspot/oops/Klass;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=11, args_size=2
        start local 0 // sun.jvm.hotspot.utilities.HeapHprofBinWriter this
        start local 1 // sun.jvm.hotspot.oops.Klass k
         0: .line 622
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.out:Ljava/io/DataOutputStream;
            bipush 32
            invokevirtual java.io.DataOutputStream.writeByte:(I)V
         1: .line 623
            aload 0 /* this */
            aload 1 /* k */
            invokevirtual sun.jvm.hotspot.oops.Klass.getJavaMirror:()Lsun/jvm/hotspot/oops/Instance;
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.writeObjectID:(Lsun/jvm/hotspot/oops/Oop;)V
         2: .line 624
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.out:Ljava/io/DataOutputStream;
            iconst_1
            invokevirtual java.io.DataOutputStream.writeInt:(I)V
         3: .line 625
            aload 1 /* k */
            invokevirtual sun.jvm.hotspot.oops.Klass.getJavaSuper:()Lsun/jvm/hotspot/oops/Klass;
            astore 2 /* superKlass */
        start local 2 // sun.jvm.hotspot.oops.Klass superKlass
         4: .line 626
            aload 2 /* superKlass */
            ifnull 7
         5: .line 627
            aload 0 /* this */
            aload 2 /* superKlass */
            invokevirtual sun.jvm.hotspot.oops.Klass.getJavaMirror:()Lsun/jvm/hotspot/oops/Instance;
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.writeObjectID:(Lsun/jvm/hotspot/oops/Oop;)V
         6: .line 628
            goto 8
         7: .line 629
      StackMap locals: sun.jvm.hotspot.oops.Klass
      StackMap stack:
            aload 0 /* this */
            aconst_null
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.writeObjectID:(Lsun/jvm/hotspot/oops/Oop;)V
         8: .line 632
      StackMap locals:
      StackMap stack:
            aload 1 /* k */
            instanceof sun.jvm.hotspot.oops.InstanceKlass
            ifeq 34
         9: .line 633
            aload 1 /* k */
            checkcast sun.jvm.hotspot.oops.InstanceKlass
            astore 3 /* ik */
        start local 3 // sun.jvm.hotspot.oops.InstanceKlass ik
        10: .line 634
            aload 0 /* this */
            aload 3 /* ik */
            invokevirtual sun.jvm.hotspot.oops.InstanceKlass.getClassLoader:()Lsun/jvm/hotspot/oops/Oop;
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.writeObjectID:(Lsun/jvm/hotspot/oops/Oop;)V
        11: .line 635
            aload 0 /* this */
            aconst_null
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.writeObjectID:(Lsun/jvm/hotspot/oops/Oop;)V
        12: .line 636
            aload 0 /* this */
            aconst_null
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.writeObjectID:(Lsun/jvm/hotspot/oops/Oop;)V
        13: .line 638
            aload 0 /* this */
            aconst_null
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.writeObjectID:(Lsun/jvm/hotspot/oops/Oop;)V
        14: .line 639
            aload 0 /* this */
            aconst_null
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.writeObjectID:(Lsun/jvm/hotspot/oops/Oop;)V
        15: .line 640
            aload 3 /* ik */
            invokestatic sun.jvm.hotspot.utilities.HeapHprofBinWriter.getInstanceFields:(Lsun/jvm/hotspot/oops/InstanceKlass;)Ljava/util/List;
            astore 4 /* fields */
        start local 4 // java.util.List fields
        16: .line 641
            aload 0 /* this */
            aload 4 /* fields */
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.getSizeForFields:(Ljava/util/List;)I
            istore 5 /* instSize */
        start local 5 // int instSize
        17: .line 642
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.classDataCache:Ljava/util/Map;
            aload 3 /* ik */
            new sun.jvm.hotspot.utilities.HeapHprofBinWriter$ClassData
            dup
            iload 5 /* instSize */
            aload 4 /* fields */
            invokespecial sun.jvm.hotspot.utilities.HeapHprofBinWriter$ClassData.<init>:(ILjava/util/List;)V
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        18: .line 643
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.out:Ljava/io/DataOutputStream;
            iload 5 /* instSize */
            invokevirtual java.io.DataOutputStream.writeInt:(I)V
        19: .line 647
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.out:Ljava/io/DataOutputStream;
            iconst_0
            invokevirtual java.io.DataOutputStream.writeShort:(I)V
        20: .line 649
            aload 3 /* ik */
            invokevirtual sun.jvm.hotspot.oops.InstanceKlass.getImmediateFields:()Ljava/util/List;
            astore 6 /* declaredFields */
        start local 6 // java.util.List declaredFields
        21: .line 650
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 7 /* staticFields */
        start local 7 // java.util.List staticFields
        22: .line 651
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 8 /* instanceFields */
        start local 8 // java.util.List instanceFields
        23: .line 652
            aconst_null
            astore 9 /* itr */
        start local 9 // java.util.Iterator itr
        24: .line 653
            aload 6 /* declaredFields */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 9 /* itr */
            goto 30
        25: .line 654
      StackMap locals: sun.jvm.hotspot.utilities.HeapHprofBinWriter sun.jvm.hotspot.oops.Klass sun.jvm.hotspot.oops.Klass sun.jvm.hotspot.oops.InstanceKlass java.util.List int java.util.List java.util.List java.util.List java.util.Iterator
      StackMap stack:
            aload 9 /* itr */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.jvm.hotspot.oops.Field
            astore 10 /* field */
        start local 10 // sun.jvm.hotspot.oops.Field field
        26: .line 655
            aload 10 /* field */
            invokevirtual sun.jvm.hotspot.oops.Field.isStatic:()Z
            ifeq 29
        27: .line 656
            aload 7 /* staticFields */
            aload 10 /* field */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        28: .line 657
            goto 30
        29: .line 658
      StackMap locals: sun.jvm.hotspot.oops.Field
      StackMap stack:
            aload 8 /* instanceFields */
            aload 10 /* field */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 10 // sun.jvm.hotspot.oops.Field field
        30: .line 653
      StackMap locals:
      StackMap stack:
            aload 9 /* itr */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 25
        31: .line 663
            aload 0 /* this */
            aload 7 /* staticFields */
            aload 3 /* ik */
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.writeFieldDescriptors:(Ljava/util/List;Lsun/jvm/hotspot/oops/InstanceKlass;)V
        32: .line 666
            aload 0 /* this */
            aload 8 /* instanceFields */
            aconst_null
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.writeFieldDescriptors:(Ljava/util/List;Lsun/jvm/hotspot/oops/InstanceKlass;)V
        end local 9 // java.util.Iterator itr
        end local 8 // java.util.List instanceFields
        end local 7 // java.util.List staticFields
        end local 6 // java.util.List declaredFields
        end local 5 // int instSize
        end local 4 // java.util.List fields
        end local 3 // sun.jvm.hotspot.oops.InstanceKlass ik
        33: .line 667
            goto 56
        34: .line 668
      StackMap locals: sun.jvm.hotspot.utilities.HeapHprofBinWriter sun.jvm.hotspot.oops.Klass sun.jvm.hotspot.oops.Klass
      StackMap stack:
            aload 1 /* k */
            instanceof sun.jvm.hotspot.oops.ObjArrayKlass
            ifeq 47
        35: .line 669
            aload 1 /* k */
            checkcast sun.jvm.hotspot.oops.ObjArrayKlass
            astore 3 /* oak */
        start local 3 // sun.jvm.hotspot.oops.ObjArrayKlass oak
        36: .line 670
            aload 3 /* oak */
            invokevirtual sun.jvm.hotspot.oops.ObjArrayKlass.getBottomKlass:()Lsun/jvm/hotspot/oops/Klass;
            astore 4 /* bottomKlass */
        start local 4 // sun.jvm.hotspot.oops.Klass bottomKlass
        37: .line 671
            aload 4 /* bottomKlass */
            instanceof sun.jvm.hotspot.oops.InstanceKlass
            ifeq 43
        38: .line 672
            aload 4 /* bottomKlass */
            checkcast sun.jvm.hotspot.oops.InstanceKlass
            astore 5 /* ik */
        start local 5 // sun.jvm.hotspot.oops.InstanceKlass ik
        39: .line 673
            aload 0 /* this */
            aload 5 /* ik */
            invokevirtual sun.jvm.hotspot.oops.InstanceKlass.getClassLoader:()Lsun/jvm/hotspot/oops/Oop;
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.writeObjectID:(Lsun/jvm/hotspot/oops/Oop;)V
        40: .line 674
            aload 0 /* this */
            aconst_null
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.writeObjectID:(Lsun/jvm/hotspot/oops/Oop;)V
        41: .line 675
            aload 0 /* this */
            aconst_null
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.writeObjectID:(Lsun/jvm/hotspot/oops/Oop;)V
        end local 5 // sun.jvm.hotspot.oops.InstanceKlass ik
        42: .line 676
            goto 50
        43: .line 677
      StackMap locals: sun.jvm.hotspot.oops.ObjArrayKlass sun.jvm.hotspot.oops.Klass
      StackMap stack:
            aload 0 /* this */
            aconst_null
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.writeObjectID:(Lsun/jvm/hotspot/oops/Oop;)V
        44: .line 678
            aload 0 /* this */
            aconst_null
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.writeObjectID:(Lsun/jvm/hotspot/oops/Oop;)V
        45: .line 679
            aload 0 /* this */
            aconst_null
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.writeObjectID:(Lsun/jvm/hotspot/oops/Oop;)V
        end local 4 // sun.jvm.hotspot.oops.Klass bottomKlass
        end local 3 // sun.jvm.hotspot.oops.ObjArrayKlass oak
        46: .line 681
            goto 50
        47: .line 682
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.writeObjectID:(Lsun/jvm/hotspot/oops/Oop;)V
        48: .line 683
            aload 0 /* this */
            aconst_null
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.writeObjectID:(Lsun/jvm/hotspot/oops/Oop;)V
        49: .line 684
            aload 0 /* this */
            aconst_null
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.writeObjectID:(Lsun/jvm/hotspot/oops/Oop;)V
        50: .line 687
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.writeObjectID:(Lsun/jvm/hotspot/oops/Oop;)V
        51: .line 688
            aload 0 /* this */
            aconst_null
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.writeObjectID:(Lsun/jvm/hotspot/oops/Oop;)V
        52: .line 691
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.out:Ljava/io/DataOutputStream;
            iconst_0
            invokevirtual java.io.DataOutputStream.writeInt:(I)V
        53: .line 693
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.out:Ljava/io/DataOutputStream;
            iconst_0
            invokevirtual java.io.DataOutputStream.writeShort:(I)V
        54: .line 695
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.out:Ljava/io/DataOutputStream;
            iconst_0
            invokevirtual java.io.DataOutputStream.writeShort:(I)V
        55: .line 697
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.out:Ljava/io/DataOutputStream;
            iconst_0
            invokevirtual java.io.DataOutputStream.writeShort:(I)V
        56: .line 699
      StackMap locals:
      StackMap stack:
            return
        end local 2 // sun.jvm.hotspot.oops.Klass superKlass
        end local 1 // sun.jvm.hotspot.oops.Klass k
        end local 0 // sun.jvm.hotspot.utilities.HeapHprofBinWriter this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   57     0            this  Lsun/jvm/hotspot/utilities/HeapHprofBinWriter;
            0   57     1               k  Lsun/jvm/hotspot/oops/Klass;
            4   57     2      superKlass  Lsun/jvm/hotspot/oops/Klass;
           10   33     3              ik  Lsun/jvm/hotspot/oops/InstanceKlass;
           16   33     4          fields  Ljava/util/List;
           17   33     5        instSize  I
           21   33     6  declaredFields  Ljava/util/List;
           22   33     7    staticFields  Ljava/util/List;
           23   33     8  instanceFields  Ljava/util/List;
           24   33     9             itr  Ljava/util/Iterator;
           26   30    10           field  Lsun/jvm/hotspot/oops/Field;
           36   46     3             oak  Lsun/jvm/hotspot/oops/ObjArrayKlass;
           37   46     4     bottomKlass  Lsun/jvm/hotspot/oops/Klass;
           39   42     5              ik  Lsun/jvm/hotspot/oops/InstanceKlass;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      k     

  private void dumpStackTraces();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=14, args_size=1
        start local 0 // sun.jvm.hotspot.utilities.HeapHprofBinWriter this
         0: .line 703
            aload 0 /* this */
            iconst_5
            iconst_3
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.INT_SIZE:J
            l2i
            imul
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.writeHeader:(II)V
         1: .line 704
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.out:Ljava/io/DataOutputStream;
            iconst_1
            invokevirtual java.io.DataOutputStream.writeInt:(I)V
         2: .line 705
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.out:Ljava/io/DataOutputStream;
            iconst_0
            invokevirtual java.io.DataOutputStream.writeInt:(I)V
         3: .line 706
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.out:Ljava/io/DataOutputStream;
            iconst_0
            invokevirtual java.io.DataOutputStream.writeInt:(I)V
         4: .line 708
            iconst_0
            istore 1 /* frameSerialNum */
        start local 1 // int frameSerialNum
         5: .line 709
            iconst_0
            istore 2 /* numThreads */
        start local 2 // int numThreads
         6: .line 710
            invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
            invokevirtual sun.jvm.hotspot.runtime.VM.getThreads:()Lsun/jvm/hotspot/runtime/Threads;
            astore 3 /* threads */
        start local 3 // sun.jvm.hotspot.runtime.Threads threads
         7: .line 711
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         8: goto 37
         9: .line 712
      StackMap locals: sun.jvm.hotspot.utilities.HeapHprofBinWriter int int sun.jvm.hotspot.runtime.Threads int
      StackMap stack:
            aload 3 /* threads */
            iload 4 /* i */
            invokevirtual sun.jvm.hotspot.runtime.Threads.getJavaThreadAt:(I)Lsun/jvm/hotspot/runtime/JavaThread;
            astore 5 /* thread */
        start local 5 // sun.jvm.hotspot.runtime.JavaThread thread
        10: .line 713
            aload 5 /* thread */
            invokevirtual sun.jvm.hotspot.runtime.JavaThread.getThreadObj:()Lsun/jvm/hotspot/oops/Oop;
            astore 6 /* threadObj */
        start local 6 // sun.jvm.hotspot.oops.Oop threadObj
        11: .line 714
            aload 6 /* threadObj */
            ifnull 36
            aload 5 /* thread */
            invokevirtual sun.jvm.hotspot.runtime.JavaThread.isExiting:()Z
            ifne 36
            aload 5 /* thread */
            invokevirtual sun.jvm.hotspot.runtime.JavaThread.isHiddenFromExternalView:()Z
            ifne 36
        12: .line 717
            new sun.jvm.hotspot.runtime.ThreadStackTrace
            dup
            aload 5 /* thread */
            invokespecial sun.jvm.hotspot.runtime.ThreadStackTrace.<init>:(Lsun/jvm/hotspot/runtime/JavaThread;)V
            astore 7 /* st */
        start local 7 // sun.jvm.hotspot.runtime.ThreadStackTrace st
        13: .line 718
            aload 7 /* st */
            iconst_m1
            invokevirtual sun.jvm.hotspot.runtime.ThreadStackTrace.dumpStack:(I)V
        14: .line 719
            iinc 2 /* numThreads */ 1
        15: .line 722
            aload 7 /* st */
            invokevirtual sun.jvm.hotspot.runtime.ThreadStackTrace.getStackDepth:()I
            istore 8 /* depth */
        start local 8 // int depth
        16: .line 723
            iload 1 /* frameSerialNum */
            istore 9 /* threadFrameStart */
        start local 9 // int threadFrameStart
        17: .line 724
            iconst_0
            istore 10 /* j */
        start local 10 // int j
        18: goto 25
        19: .line 725
      StackMap locals: sun.jvm.hotspot.utilities.HeapHprofBinWriter int int sun.jvm.hotspot.runtime.Threads int sun.jvm.hotspot.runtime.JavaThread sun.jvm.hotspot.oops.Oop sun.jvm.hotspot.runtime.ThreadStackTrace int int int
      StackMap stack:
            aload 7 /* st */
            iload 10 /* j */
            invokevirtual sun.jvm.hotspot.runtime.ThreadStackTrace.stackFrameAt:(I)Lsun/jvm/hotspot/runtime/StackFrameInfo;
            astore 11 /* frame */
        start local 11 // sun.jvm.hotspot.runtime.StackFrameInfo frame
        20: .line 726
            aload 11 /* frame */
            invokevirtual sun.jvm.hotspot.runtime.StackFrameInfo.getMethod:()Lsun/jvm/hotspot/oops/Method;
            astore 12 /* m */
        start local 12 // sun.jvm.hotspot.oops.Method m
        21: .line 727
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.KlassMap:Ljava/util/ArrayList;
            aload 12 /* m */
            invokevirtual sun.jvm.hotspot.oops.Method.getMethodHolder:()Lsun/jvm/hotspot/oops/InstanceKlass;
            invokevirtual java.util.ArrayList.indexOf:(Ljava/lang/Object;)I
            iconst_1
            iadd
            istore 13 /* classSerialNum */
        start local 13 // int classSerialNum
        22: .line 729
            getstatic sun.jvm.hotspot.utilities.HeapHprofBinWriter.$assertionsDisabled:Z
            ifne 23
            iload 13 /* classSerialNum */
            ifgt 23
            new java.lang.AssertionError
            dup
            ldc "class not found"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        23: .line 730
      StackMap locals: sun.jvm.hotspot.runtime.StackFrameInfo sun.jvm.hotspot.oops.Method int
      StackMap stack:
            aload 0 /* this */
            iinc 1 /* frameSerialNum */ 1
            iload 1 /* frameSerialNum */
            iload 13 /* classSerialNum */
            aload 12 /* m */
            aload 11 /* frame */
            invokevirtual sun.jvm.hotspot.runtime.StackFrameInfo.getBCI:()I
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.dumpStackFrame:(IILsun/jvm/hotspot/oops/Method;I)V
        end local 13 // int classSerialNum
        end local 12 // sun.jvm.hotspot.oops.Method m
        end local 11 // sun.jvm.hotspot.runtime.StackFrameInfo frame
        24: .line 724
            iinc 10 /* j */ 1
      StackMap locals:
      StackMap stack:
        25: iload 10 /* j */
            iload 8 /* depth */
            if_icmplt 19
        end local 10 // int j
        26: .line 734
            aload 0 /* this */
            iconst_5
            iconst_3
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.INT_SIZE:J
            l2i
            imul
            iload 8 /* depth */
            invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
            invokevirtual sun.jvm.hotspot.runtime.VM.getOopSize:()J
            l2i
            imul
            iadd
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.writeHeader:(II)V
        27: .line 735
            iload 2 /* numThreads */
            iconst_1
            iadd
            istore 10 /* stackSerialNum */
        start local 10 // int stackSerialNum
        28: .line 736
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.out:Ljava/io/DataOutputStream;
            iload 10 /* stackSerialNum */
            invokevirtual java.io.DataOutputStream.writeInt:(I)V
        29: .line 737
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.out:Ljava/io/DataOutputStream;
            iload 2 /* numThreads */
            invokevirtual java.io.DataOutputStream.writeInt:(I)V
        30: .line 738
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.out:Ljava/io/DataOutputStream;
            iload 8 /* depth */
            invokevirtual java.io.DataOutputStream.writeInt:(I)V
        31: .line 739
            iconst_1
            istore 11 /* j */
        start local 11 // int j
        32: goto 35
        33: .line 740
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 9 /* threadFrameStart */
            iload 11 /* j */
            iadd
            i2l
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.writeObjectID:(J)V
        34: .line 739
            iinc 11 /* j */ 1
      StackMap locals:
      StackMap stack:
        35: iload 11 /* j */
            iload 8 /* depth */
            if_icmple 33
        end local 11 // int j
        end local 10 // int stackSerialNum
        end local 9 // int threadFrameStart
        end local 8 // int depth
        end local 7 // sun.jvm.hotspot.runtime.ThreadStackTrace st
        end local 6 // sun.jvm.hotspot.oops.Oop threadObj
        end local 5 // sun.jvm.hotspot.runtime.JavaThread thread
        36: .line 711
      StackMap locals: sun.jvm.hotspot.utilities.HeapHprofBinWriter int int sun.jvm.hotspot.runtime.Threads int
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        37: iload 4 /* i */
            aload 3 /* threads */
            invokevirtual sun.jvm.hotspot.runtime.Threads.getNumberOfThreads:()I
            if_icmplt 9
        end local 4 // int i
        38: .line 744
            return
        end local 3 // sun.jvm.hotspot.runtime.Threads threads
        end local 2 // int numThreads
        end local 1 // int frameSerialNum
        end local 0 // sun.jvm.hotspot.utilities.HeapHprofBinWriter this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   39     0              this  Lsun/jvm/hotspot/utilities/HeapHprofBinWriter;
            5   39     1    frameSerialNum  I
            6   39     2        numThreads  I
            7   39     3           threads  Lsun/jvm/hotspot/runtime/Threads;
            8   38     4                 i  I
           10   36     5            thread  Lsun/jvm/hotspot/runtime/JavaThread;
           11   36     6         threadObj  Lsun/jvm/hotspot/oops/Oop;
           13   36     7                st  Lsun/jvm/hotspot/runtime/ThreadStackTrace;
           16   36     8             depth  I
           17   36     9  threadFrameStart  I
           18   26    10                 j  I
           20   24    11             frame  Lsun/jvm/hotspot/runtime/StackFrameInfo;
           21   24    12                 m  Lsun/jvm/hotspot/oops/Method;
           22   24    13    classSerialNum  I
           28   36    10    stackSerialNum  I
           32   36    11                 j  I
    Exceptions:
      throws java.io.IOException

  private void dumpStackFrame(int, int, sun.jvm.hotspot.oops.Method, int);
    descriptor: (IILsun/jvm/hotspot/oops/Method;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=6, args_size=5
        start local 0 // sun.jvm.hotspot.utilities.HeapHprofBinWriter this
        start local 1 // int frameSN
        start local 2 // int classSN
        start local 3 // sun.jvm.hotspot.oops.Method m
        start local 4 // int bci
         0: .line 748
            aload 3 /* m */
            invokevirtual sun.jvm.hotspot.oops.Method.isNative:()Z
            ifeq 3
         1: .line 749
            bipush -3
            istore 5 /* lineNumber */
        start local 5 // int lineNumber
         2: .line 750
            goto 4
        end local 5 // int lineNumber
         3: .line 751
      StackMap locals:
      StackMap stack:
            aload 3 /* m */
            iload 4 /* bci */
            invokevirtual sun.jvm.hotspot.oops.Method.getLineNumberFromBCI:(I)I
            istore 5 /* lineNumber */
        start local 5 // int lineNumber
         4: .line 754
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 3 /* m */
            invokevirtual sun.jvm.hotspot.oops.Method.getName:()Lsun/jvm/hotspot/oops/Symbol;
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.writeSymbol:(Lsun/jvm/hotspot/oops/Symbol;)V
         5: .line 755
            aload 0 /* this */
            aload 3 /* m */
            invokevirtual sun.jvm.hotspot.oops.Method.getSignature:()Lsun/jvm/hotspot/oops/Symbol;
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.writeSymbol:(Lsun/jvm/hotspot/oops/Symbol;)V
         6: .line 756
            aload 0 /* this */
            aload 3 /* m */
            invokevirtual sun.jvm.hotspot.oops.Method.getMethodHolder:()Lsun/jvm/hotspot/oops/InstanceKlass;
            invokevirtual sun.jvm.hotspot.oops.InstanceKlass.getSourceFileName:()Lsun/jvm/hotspot/oops/Symbol;
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.writeSymbol:(Lsun/jvm/hotspot/oops/Symbol;)V
         7: .line 758
            aload 0 /* this */
            iconst_4
            iconst_4
            invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
            invokevirtual sun.jvm.hotspot.runtime.VM.getOopSize:()J
            l2i
            imul
            iconst_2
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.INT_SIZE:J
            l2i
            imul
            iadd
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.writeHeader:(II)V
         8: .line 759
            aload 0 /* this */
            iload 1 /* frameSN */
            i2l
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.writeObjectID:(J)V
         9: .line 760
            aload 0 /* this */
            aload 3 /* m */
            invokevirtual sun.jvm.hotspot.oops.Method.getName:()Lsun/jvm/hotspot/oops/Symbol;
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.writeSymbolID:(Lsun/jvm/hotspot/oops/Symbol;)V
        10: .line 761
            aload 0 /* this */
            aload 3 /* m */
            invokevirtual sun.jvm.hotspot.oops.Method.getSignature:()Lsun/jvm/hotspot/oops/Symbol;
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.writeSymbolID:(Lsun/jvm/hotspot/oops/Symbol;)V
        11: .line 762
            aload 0 /* this */
            aload 3 /* m */
            invokevirtual sun.jvm.hotspot.oops.Method.getMethodHolder:()Lsun/jvm/hotspot/oops/InstanceKlass;
            invokevirtual sun.jvm.hotspot.oops.InstanceKlass.getSourceFileName:()Lsun/jvm/hotspot/oops/Symbol;
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.writeSymbolID:(Lsun/jvm/hotspot/oops/Symbol;)V
        12: .line 763
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.out:Ljava/io/DataOutputStream;
            iload 2 /* classSN */
            invokevirtual java.io.DataOutputStream.writeInt:(I)V
        13: .line 764
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.out:Ljava/io/DataOutputStream;
            iload 5 /* lineNumber */
            invokevirtual java.io.DataOutputStream.writeInt:(I)V
        14: .line 765
            return
        end local 5 // int lineNumber
        end local 4 // int bci
        end local 3 // sun.jvm.hotspot.oops.Method m
        end local 2 // int classSN
        end local 1 // int frameSN
        end local 0 // sun.jvm.hotspot.utilities.HeapHprofBinWriter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   15     0        this  Lsun/jvm/hotspot/utilities/HeapHprofBinWriter;
            0   15     1     frameSN  I
            0   15     2     classSN  I
            0   15     3           m  Lsun/jvm/hotspot/oops/Method;
            0   15     4         bci  I
            2    3     5  lineNumber  I
            4   15     5  lineNumber  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      frameSN  
      classSN  
      m        
      bci      

  protected void writeJavaThread(sun.jvm.hotspot.runtime.JavaThread, int);
    descriptor: (Lsun/jvm/hotspot/runtime/JavaThread;I)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // sun.jvm.hotspot.utilities.HeapHprofBinWriter this
        start local 1 // sun.jvm.hotspot.runtime.JavaThread jt
        start local 2 // int index
         0: .line 768
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.out:Ljava/io/DataOutputStream;
            bipush 8
            invokevirtual java.io.DataOutputStream.writeByte:(I)V
         1: .line 769
            aload 0 /* this */
            aload 1 /* jt */
            invokevirtual sun.jvm.hotspot.runtime.JavaThread.getThreadObj:()Lsun/jvm/hotspot/oops/Oop;
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.writeObjectID:(Lsun/jvm/hotspot/oops/Oop;)V
         2: .line 770
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.out:Ljava/io/DataOutputStream;
            iload 2 /* index */
            invokevirtual java.io.DataOutputStream.writeInt:(I)V
         3: .line 771
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.out:Ljava/io/DataOutputStream;
            iconst_1
            invokevirtual java.io.DataOutputStream.writeInt:(I)V
         4: .line 772
            aload 0 /* this */
            aload 1 /* jt */
            iload 2 /* index */
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.writeLocalJNIHandles:(Lsun/jvm/hotspot/runtime/JavaThread;I)V
         5: .line 773
            return
        end local 2 // int index
        end local 1 // sun.jvm.hotspot.runtime.JavaThread jt
        end local 0 // sun.jvm.hotspot.utilities.HeapHprofBinWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lsun/jvm/hotspot/utilities/HeapHprofBinWriter;
            0    6     1     jt  Lsun/jvm/hotspot/runtime/JavaThread;
            0    6     2  index  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      jt     
      index  

  protected void writeLocalJNIHandles(sun.jvm.hotspot.runtime.JavaThread, int);
    descriptor: (Lsun/jvm/hotspot/runtime/JavaThread;I)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // sun.jvm.hotspot.utilities.HeapHprofBinWriter this
        start local 1 // sun.jvm.hotspot.runtime.JavaThread jt
        start local 2 // int index
         0: .line 776
            iload 2 /* index */
            istore 3 /* threadIndex */
        start local 3 // int threadIndex
         1: .line 777
            aload 1 /* jt */
            invokevirtual sun.jvm.hotspot.runtime.JavaThread.activeHandles:()Lsun/jvm/hotspot/runtime/JNIHandleBlock;
            astore 4 /* blk */
        start local 4 // sun.jvm.hotspot.runtime.JNIHandleBlock blk
         2: .line 778
            aload 4 /* blk */
            ifnull 7
         3: .line 780
            aload 4 /* blk */
            new sun.jvm.hotspot.utilities.HeapHprofBinWriter$2
            dup
            aload 0 /* this */
            iload 3 /* threadIndex */
            invokespecial sun.jvm.hotspot.utilities.HeapHprofBinWriter$2.<init>:(Lsun/jvm/hotspot/utilities/HeapHprofBinWriter;I)V
            invokevirtual sun.jvm.hotspot.runtime.JNIHandleBlock.oopsDo:(Lsun/jvm/hotspot/runtime/AddressVisitor;)V
         4: .line 803
            goto 7
      StackMap locals: sun.jvm.hotspot.utilities.HeapHprofBinWriter sun.jvm.hotspot.runtime.JavaThread int int sun.jvm.hotspot.runtime.JNIHandleBlock
      StackMap stack: java.lang.RuntimeException
         5: astore 5 /* re */
        start local 5 // java.lang.RuntimeException re
         6: .line 804
            aload 0 /* this */
            aload 5 /* re */
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.handleRuntimeException:(Ljava/lang/RuntimeException;)V
        end local 5 // java.lang.RuntimeException re
         7: .line 807
      StackMap locals:
      StackMap stack:
            return
        end local 4 // sun.jvm.hotspot.runtime.JNIHandleBlock blk
        end local 3 // int threadIndex
        end local 2 // int index
        end local 1 // sun.jvm.hotspot.runtime.JavaThread jt
        end local 0 // sun.jvm.hotspot.utilities.HeapHprofBinWriter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    8     0         this  Lsun/jvm/hotspot/utilities/HeapHprofBinWriter;
            0    8     1           jt  Lsun/jvm/hotspot/runtime/JavaThread;
            0    8     2        index  I
            1    8     3  threadIndex  I
            2    8     4          blk  Lsun/jvm/hotspot/runtime/JNIHandleBlock;
            6    7     5           re  Ljava/lang/RuntimeException;
      Exception table:
        from    to  target  type
           3     4       5  Class java.lang.RuntimeException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      jt     
      index  

  protected void writeGlobalJNIHandle(sun.jvm.hotspot.debugger.Address);
    descriptor: (Lsun/jvm/hotspot/debugger/Address;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // sun.jvm.hotspot.utilities.HeapHprofBinWriter this
        start local 1 // sun.jvm.hotspot.debugger.Address handleAddr
         0: .line 810
            aload 1 /* handleAddr */
            lconst_0
            invokeinterface sun.jvm.hotspot.debugger.Address.getOopHandleAt:(J)Lsun/jvm/hotspot/debugger/OopHandle;
            astore 2 /* oopHandle */
        start local 2 // sun.jvm.hotspot.debugger.OopHandle oopHandle
         1: .line 811
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.objectHeap:Lsun/jvm/hotspot/oops/ObjectHeap;
            aload 2 /* oopHandle */
            invokevirtual sun.jvm.hotspot.oops.ObjectHeap.newOop:(Lsun/jvm/hotspot/debugger/OopHandle;)Lsun/jvm/hotspot/oops/Oop;
            astore 3 /* oop */
        start local 3 // sun.jvm.hotspot.oops.Oop oop
         2: .line 813
            aload 3 /* oop */
            ifnull 6
            aload 0 /* this */
            aload 3 /* oop */
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.isJavaVisible:(Lsun/jvm/hotspot/oops/Oop;)Z
            ifeq 6
         3: .line 814
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.out:Ljava/io/DataOutputStream;
            iconst_1
            invokevirtual java.io.DataOutputStream.writeByte:(I)V
         4: .line 815
            aload 0 /* this */
            aload 3 /* oop */
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.writeObjectID:(Lsun/jvm/hotspot/oops/Oop;)V
         5: .line 817
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* handleAddr */
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.getAddressValue:(Lsun/jvm/hotspot/debugger/Address;)J
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.writeObjectID:(J)V
         6: .line 819
      StackMap locals: sun.jvm.hotspot.debugger.OopHandle sun.jvm.hotspot.oops.Oop
      StackMap stack:
            return
        end local 3 // sun.jvm.hotspot.oops.Oop oop
        end local 2 // sun.jvm.hotspot.debugger.OopHandle oopHandle
        end local 1 // sun.jvm.hotspot.debugger.Address handleAddr
        end local 0 // sun.jvm.hotspot.utilities.HeapHprofBinWriter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Lsun/jvm/hotspot/utilities/HeapHprofBinWriter;
            0    7     1  handleAddr  Lsun/jvm/hotspot/debugger/Address;
            1    7     2   oopHandle  Lsun/jvm/hotspot/debugger/OopHandle;
            2    7     3         oop  Lsun/jvm/hotspot/oops/Oop;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
            Name  Flags
      handleAddr  

  protected void writeObjectArray(sun.jvm.hotspot.oops.ObjArray);
    descriptor: (Lsun/jvm/hotspot/oops/ObjArray;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=6, args_size=2
        start local 0 // sun.jvm.hotspot.utilities.HeapHprofBinWriter this
        start local 1 // sun.jvm.hotspot.oops.ObjArray array
         0: .line 822
            aload 0 /* this */
            iconst_1
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.getArrayHeaderSize:(Z)I
            istore 2 /* headerSize */
        start local 2 // int headerSize
         1: .line 823
            aload 0 /* this */
            aload 1 /* array */
            invokevirtual sun.jvm.hotspot.oops.ObjArray.getLength:()J
         2: .line 824
            iload 2 /* headerSize */
         3: .line 825
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.OBJ_ID_SIZE:I
            i2l
         4: .line 826
            ldc "Object"
         5: .line 823
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.calculateArrayMaxLength:(JIJLjava/lang/String;)I
            istore 3 /* length */
        start local 3 // int length
         6: .line 827
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.out:Ljava/io/DataOutputStream;
            bipush 34
            invokevirtual java.io.DataOutputStream.writeByte:(I)V
         7: .line 828
            aload 0 /* this */
            aload 1 /* array */
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.writeObjectID:(Lsun/jvm/hotspot/oops/Oop;)V
         8: .line 829
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.out:Ljava/io/DataOutputStream;
            iconst_1
            invokevirtual java.io.DataOutputStream.writeInt:(I)V
         9: .line 830
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.out:Ljava/io/DataOutputStream;
            iload 3 /* length */
            invokevirtual java.io.DataOutputStream.writeInt:(I)V
        10: .line 831
            aload 0 /* this */
            aload 1 /* array */
            invokevirtual sun.jvm.hotspot.oops.ObjArray.getKlass:()Lsun/jvm/hotspot/oops/Klass;
            invokevirtual sun.jvm.hotspot.oops.Klass.getJavaMirror:()Lsun/jvm/hotspot/oops/Instance;
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.writeObjectID:(Lsun/jvm/hotspot/oops/Oop;)V
        11: .line 832
            iconst_0
            istore 4 /* index */
        start local 4 // int index
        12: goto 16
        13: .line 833
      StackMap locals: int int int
      StackMap stack:
            aload 1 /* array */
            iload 4 /* index */
            i2l
            invokevirtual sun.jvm.hotspot.oops.ObjArray.getOopHandleAt:(J)Lsun/jvm/hotspot/debugger/OopHandle;
            astore 5 /* handle */
        start local 5 // sun.jvm.hotspot.debugger.OopHandle handle
        14: .line 834
            aload 0 /* this */
            aload 0 /* this */
            aload 5 /* handle */
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.getAddressValue:(Lsun/jvm/hotspot/debugger/Address;)J
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.writeObjectID:(J)V
        end local 5 // sun.jvm.hotspot.debugger.OopHandle handle
        15: .line 832
            iinc 4 /* index */ 1
      StackMap locals:
      StackMap stack:
        16: iload 4 /* index */
            iload 3 /* length */
            if_icmplt 13
        end local 4 // int index
        17: .line 836
            return
        end local 3 // int length
        end local 2 // int headerSize
        end local 1 // sun.jvm.hotspot.oops.ObjArray array
        end local 0 // sun.jvm.hotspot.utilities.HeapHprofBinWriter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   18     0        this  Lsun/jvm/hotspot/utilities/HeapHprofBinWriter;
            0   18     1       array  Lsun/jvm/hotspot/oops/ObjArray;
            1   18     2  headerSize  I
            6   18     3      length  I
           12   17     4       index  I
           14   15     5      handle  Lsun/jvm/hotspot/debugger/OopHandle;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      array  

  protected void writePrimitiveArray(sun.jvm.hotspot.oops.TypeArray);
    descriptor: (Lsun/jvm/hotspot/oops/TypeArray;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=9, args_size=2
        start local 0 // sun.jvm.hotspot.utilities.HeapHprofBinWriter this
        start local 1 // sun.jvm.hotspot.oops.TypeArray array
         0: .line 839
            aload 0 /* this */
            iconst_0
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.getArrayHeaderSize:(Z)I
            istore 2 /* headerSize */
        start local 2 // int headerSize
         1: .line 840
            aload 1 /* array */
            invokevirtual sun.jvm.hotspot.oops.TypeArray.getKlass:()Lsun/jvm/hotspot/oops/Klass;
            checkcast sun.jvm.hotspot.oops.TypeArrayKlass
            astore 3 /* tak */
        start local 3 // sun.jvm.hotspot.oops.TypeArrayKlass tak
         2: .line 841
            aload 3 /* tak */
            invokevirtual sun.jvm.hotspot.oops.TypeArrayKlass.getElementType:()I
            istore 4 /* type */
        start local 4 // int type
         3: .line 842
            aload 3 /* tak */
            invokevirtual sun.jvm.hotspot.oops.TypeArrayKlass.getElementTypeName:()Ljava/lang/String;
            astore 5 /* typeName */
        start local 5 // java.lang.String typeName
         4: .line 843
            aload 0 /* this */
            iload 4 /* type */
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.getSizeForType:(I)J
            lstore 6 /* typeSize */
        start local 6 // long typeSize
         5: .line 844
            aload 0 /* this */
            aload 1 /* array */
            invokevirtual sun.jvm.hotspot.oops.TypeArray.getLength:()J
         6: .line 845
            iload 2 /* headerSize */
         7: .line 846
            lload 6 /* typeSize */
         8: .line 847
            aload 5 /* typeName */
         9: .line 844
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.calculateArrayMaxLength:(JIJLjava/lang/String;)I
            istore 8 /* length */
        start local 8 // int length
        10: .line 848
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.out:Ljava/io/DataOutputStream;
            bipush 35
            invokevirtual java.io.DataOutputStream.writeByte:(I)V
        11: .line 849
            aload 0 /* this */
            aload 1 /* array */
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.writeObjectID:(Lsun/jvm/hotspot/oops/Oop;)V
        12: .line 850
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.out:Ljava/io/DataOutputStream;
            iconst_1
            invokevirtual java.io.DataOutputStream.writeInt:(I)V
        13: .line 851
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.out:Ljava/io/DataOutputStream;
            iload 8 /* length */
            invokevirtual java.io.DataOutputStream.writeInt:(I)V
        14: .line 852
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.out:Ljava/io/DataOutputStream;
            iload 4 /* type */
            i2b
            invokevirtual java.io.DataOutputStream.writeByte:(I)V
        15: .line 853
            iload 4 /* type */
            tableswitch { // 4 - 11
                    4: 16
                    5: 18
                    6: 20
                    7: 22
                    8: 24
                    9: 26
                   10: 28
                   11: 30
              default: 32
          }
        16: .line 855
      StackMap locals: sun.jvm.hotspot.utilities.HeapHprofBinWriter sun.jvm.hotspot.oops.TypeArray int sun.jvm.hotspot.oops.TypeArrayKlass int java.lang.String long int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* array */
            iload 8 /* length */
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.writeBooleanArray:(Lsun/jvm/hotspot/oops/TypeArray;I)V
        17: .line 856
            goto 35
        18: .line 858
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* array */
            iload 8 /* length */
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.writeCharArray:(Lsun/jvm/hotspot/oops/TypeArray;I)V
        19: .line 859
            goto 35
        20: .line 861
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* array */
            iload 8 /* length */
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.writeFloatArray:(Lsun/jvm/hotspot/oops/TypeArray;I)V
        21: .line 862
            goto 35
        22: .line 864
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* array */
            iload 8 /* length */
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.writeDoubleArray:(Lsun/jvm/hotspot/oops/TypeArray;I)V
        23: .line 865
            goto 35
        24: .line 867
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* array */
            iload 8 /* length */
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.writeByteArray:(Lsun/jvm/hotspot/oops/TypeArray;I)V
        25: .line 868
            goto 35
        26: .line 870
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* array */
            iload 8 /* length */
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.writeShortArray:(Lsun/jvm/hotspot/oops/TypeArray;I)V
        27: .line 871
            goto 35
        28: .line 873
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* array */
            iload 8 /* length */
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.writeIntArray:(Lsun/jvm/hotspot/oops/TypeArray;I)V
        29: .line 874
            goto 35
        30: .line 876
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* array */
            iload 8 /* length */
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.writeLongArray:(Lsun/jvm/hotspot/oops/TypeArray;I)V
        31: .line 877
            goto 35
        32: .line 879
      StackMap locals:
      StackMap stack:
            new java.lang.RuntimeException
            dup
        33: .line 880
            new java.lang.StringBuilder
            dup
            ldc "Should not reach here: Unknown type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 4 /* type */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        34: .line 879
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        35: .line 882
      StackMap locals:
      StackMap stack:
            return
        end local 8 // int length
        end local 6 // long typeSize
        end local 5 // java.lang.String typeName
        end local 4 // int type
        end local 3 // sun.jvm.hotspot.oops.TypeArrayKlass tak
        end local 2 // int headerSize
        end local 1 // sun.jvm.hotspot.oops.TypeArray array
        end local 0 // sun.jvm.hotspot.utilities.HeapHprofBinWriter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   36     0        this  Lsun/jvm/hotspot/utilities/HeapHprofBinWriter;
            0   36     1       array  Lsun/jvm/hotspot/oops/TypeArray;
            1   36     2  headerSize  I
            2   36     3         tak  Lsun/jvm/hotspot/oops/TypeArrayKlass;
            3   36     4        type  I
            4   36     5    typeName  Ljava/lang/String;
            5   36     6    typeSize  J
           10   36     8      length  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      array  

  private void writeBooleanArray(sun.jvm.hotspot.oops.TypeArray, int);
    descriptor: (Lsun/jvm/hotspot/oops/TypeArray;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=6, args_size=3
        start local 0 // sun.jvm.hotspot.utilities.HeapHprofBinWriter this
        start local 1 // sun.jvm.hotspot.oops.TypeArray array
        start local 2 // int length
         0: .line 885
            iconst_0
            istore 3 /* index */
        start local 3 // int index
         1: goto 5
         2: .line 886
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.BOOLEAN_BASE_OFFSET:J
            iload 3 /* index */
            i2l
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.BOOLEAN_SIZE:J
            lmul
            ladd
            lstore 4 /* offset */
        start local 4 // long offset
         3: .line 887
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.out:Ljava/io/DataOutputStream;
            aload 1 /* array */
            invokevirtual sun.jvm.hotspot.oops.TypeArray.getHandle:()Lsun/jvm/hotspot/debugger/OopHandle;
            lload 4 /* offset */
            invokeinterface sun.jvm.hotspot.debugger.OopHandle.getJBooleanAt:(J)Z
            invokevirtual java.io.DataOutputStream.writeBoolean:(Z)V
        end local 4 // long offset
         4: .line 885
            iinc 3 /* index */ 1
      StackMap locals:
      StackMap stack:
         5: iload 3 /* index */
            iload 2 /* length */
            if_icmplt 2
        end local 3 // int index
         6: .line 889
            return
        end local 2 // int length
        end local 1 // sun.jvm.hotspot.oops.TypeArray array
        end local 0 // sun.jvm.hotspot.utilities.HeapHprofBinWriter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lsun/jvm/hotspot/utilities/HeapHprofBinWriter;
            0    7     1   array  Lsun/jvm/hotspot/oops/TypeArray;
            0    7     2  length  I
            1    6     3   index  I
            3    4     4  offset  J
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      array   
      length  

  private void writeByteArray(sun.jvm.hotspot.oops.TypeArray, int);
    descriptor: (Lsun/jvm/hotspot/oops/TypeArray;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=6, args_size=3
        start local 0 // sun.jvm.hotspot.utilities.HeapHprofBinWriter this
        start local 1 // sun.jvm.hotspot.oops.TypeArray array
        start local 2 // int length
         0: .line 892
            iconst_0
            istore 3 /* index */
        start local 3 // int index
         1: goto 5
         2: .line 893
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.BYTE_BASE_OFFSET:J
            iload 3 /* index */
            i2l
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.BYTE_SIZE:J
            lmul
            ladd
            lstore 4 /* offset */
        start local 4 // long offset
         3: .line 894
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.out:Ljava/io/DataOutputStream;
            aload 1 /* array */
            invokevirtual sun.jvm.hotspot.oops.TypeArray.getHandle:()Lsun/jvm/hotspot/debugger/OopHandle;
            lload 4 /* offset */
            invokeinterface sun.jvm.hotspot.debugger.OopHandle.getJByteAt:(J)B
            invokevirtual java.io.DataOutputStream.writeByte:(I)V
        end local 4 // long offset
         4: .line 892
            iinc 3 /* index */ 1
      StackMap locals:
      StackMap stack:
         5: iload 3 /* index */
            iload 2 /* length */
            if_icmplt 2
        end local 3 // int index
         6: .line 896
            return
        end local 2 // int length
        end local 1 // sun.jvm.hotspot.oops.TypeArray array
        end local 0 // sun.jvm.hotspot.utilities.HeapHprofBinWriter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lsun/jvm/hotspot/utilities/HeapHprofBinWriter;
            0    7     1   array  Lsun/jvm/hotspot/oops/TypeArray;
            0    7     2  length  I
            1    6     3   index  I
            3    4     4  offset  J
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      array   
      length  

  private void writeShortArray(sun.jvm.hotspot.oops.TypeArray, int);
    descriptor: (Lsun/jvm/hotspot/oops/TypeArray;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=6, args_size=3
        start local 0 // sun.jvm.hotspot.utilities.HeapHprofBinWriter this
        start local 1 // sun.jvm.hotspot.oops.TypeArray array
        start local 2 // int length
         0: .line 899
            iconst_0
            istore 3 /* index */
        start local 3 // int index
         1: goto 5
         2: .line 900
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.SHORT_BASE_OFFSET:J
            iload 3 /* index */
            i2l
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.SHORT_SIZE:J
            lmul
            ladd
            lstore 4 /* offset */
        start local 4 // long offset
         3: .line 901
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.out:Ljava/io/DataOutputStream;
            aload 1 /* array */
            invokevirtual sun.jvm.hotspot.oops.TypeArray.getHandle:()Lsun/jvm/hotspot/debugger/OopHandle;
            lload 4 /* offset */
            invokeinterface sun.jvm.hotspot.debugger.OopHandle.getJShortAt:(J)S
            invokevirtual java.io.DataOutputStream.writeShort:(I)V
        end local 4 // long offset
         4: .line 899
            iinc 3 /* index */ 1
      StackMap locals:
      StackMap stack:
         5: iload 3 /* index */
            iload 2 /* length */
            if_icmplt 2
        end local 3 // int index
         6: .line 903
            return
        end local 2 // int length
        end local 1 // sun.jvm.hotspot.oops.TypeArray array
        end local 0 // sun.jvm.hotspot.utilities.HeapHprofBinWriter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lsun/jvm/hotspot/utilities/HeapHprofBinWriter;
            0    7     1   array  Lsun/jvm/hotspot/oops/TypeArray;
            0    7     2  length  I
            1    6     3   index  I
            3    4     4  offset  J
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      array   
      length  

  private void writeIntArray(sun.jvm.hotspot.oops.TypeArray, int);
    descriptor: (Lsun/jvm/hotspot/oops/TypeArray;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=6, args_size=3
        start local 0 // sun.jvm.hotspot.utilities.HeapHprofBinWriter this
        start local 1 // sun.jvm.hotspot.oops.TypeArray array
        start local 2 // int length
         0: .line 906
            iconst_0
            istore 3 /* index */
        start local 3 // int index
         1: goto 5
         2: .line 907
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.INT_BASE_OFFSET:J
            iload 3 /* index */
            i2l
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.INT_SIZE:J
            lmul
            ladd
            lstore 4 /* offset */
        start local 4 // long offset
         3: .line 908
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.out:Ljava/io/DataOutputStream;
            aload 1 /* array */
            invokevirtual sun.jvm.hotspot.oops.TypeArray.getHandle:()Lsun/jvm/hotspot/debugger/OopHandle;
            lload 4 /* offset */
            invokeinterface sun.jvm.hotspot.debugger.OopHandle.getJIntAt:(J)I
            invokevirtual java.io.DataOutputStream.writeInt:(I)V
        end local 4 // long offset
         4: .line 906
            iinc 3 /* index */ 1
      StackMap locals:
      StackMap stack:
         5: iload 3 /* index */
            iload 2 /* length */
            if_icmplt 2
        end local 3 // int index
         6: .line 910
            return
        end local 2 // int length
        end local 1 // sun.jvm.hotspot.oops.TypeArray array
        end local 0 // sun.jvm.hotspot.utilities.HeapHprofBinWriter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lsun/jvm/hotspot/utilities/HeapHprofBinWriter;
            0    7     1   array  Lsun/jvm/hotspot/oops/TypeArray;
            0    7     2  length  I
            1    6     3   index  I
            3    4     4  offset  J
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      array   
      length  

  private void writeLongArray(sun.jvm.hotspot.oops.TypeArray, int);
    descriptor: (Lsun/jvm/hotspot/oops/TypeArray;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=6, args_size=3
        start local 0 // sun.jvm.hotspot.utilities.HeapHprofBinWriter this
        start local 1 // sun.jvm.hotspot.oops.TypeArray array
        start local 2 // int length
         0: .line 913
            iconst_0
            istore 3 /* index */
        start local 3 // int index
         1: goto 5
         2: .line 914
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.LONG_BASE_OFFSET:J
            iload 3 /* index */
            i2l
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.LONG_SIZE:J
            lmul
            ladd
            lstore 4 /* offset */
        start local 4 // long offset
         3: .line 915
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.out:Ljava/io/DataOutputStream;
            aload 1 /* array */
            invokevirtual sun.jvm.hotspot.oops.TypeArray.getHandle:()Lsun/jvm/hotspot/debugger/OopHandle;
            lload 4 /* offset */
            invokeinterface sun.jvm.hotspot.debugger.OopHandle.getJLongAt:(J)J
            invokevirtual java.io.DataOutputStream.writeLong:(J)V
        end local 4 // long offset
         4: .line 913
            iinc 3 /* index */ 1
      StackMap locals:
      StackMap stack:
         5: iload 3 /* index */
            iload 2 /* length */
            if_icmplt 2
        end local 3 // int index
         6: .line 917
            return
        end local 2 // int length
        end local 1 // sun.jvm.hotspot.oops.TypeArray array
        end local 0 // sun.jvm.hotspot.utilities.HeapHprofBinWriter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lsun/jvm/hotspot/utilities/HeapHprofBinWriter;
            0    7     1   array  Lsun/jvm/hotspot/oops/TypeArray;
            0    7     2  length  I
            1    6     3   index  I
            3    4     4  offset  J
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      array   
      length  

  private void writeCharArray(sun.jvm.hotspot.oops.TypeArray, int);
    descriptor: (Lsun/jvm/hotspot/oops/TypeArray;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=6, args_size=3
        start local 0 // sun.jvm.hotspot.utilities.HeapHprofBinWriter this
        start local 1 // sun.jvm.hotspot.oops.TypeArray array
        start local 2 // int length
         0: .line 920
            iconst_0
            istore 3 /* index */
        start local 3 // int index
         1: goto 5
         2: .line 921
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.CHAR_BASE_OFFSET:J
            iload 3 /* index */
            i2l
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.CHAR_SIZE:J
            lmul
            ladd
            lstore 4 /* offset */
        start local 4 // long offset
         3: .line 922
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.out:Ljava/io/DataOutputStream;
            aload 1 /* array */
            invokevirtual sun.jvm.hotspot.oops.TypeArray.getHandle:()Lsun/jvm/hotspot/debugger/OopHandle;
            lload 4 /* offset */
            invokeinterface sun.jvm.hotspot.debugger.OopHandle.getJCharAt:(J)C
            invokevirtual java.io.DataOutputStream.writeChar:(I)V
        end local 4 // long offset
         4: .line 920
            iinc 3 /* index */ 1
      StackMap locals:
      StackMap stack:
         5: iload 3 /* index */
            iload 2 /* length */
            if_icmplt 2
        end local 3 // int index
         6: .line 924
            return
        end local 2 // int length
        end local 1 // sun.jvm.hotspot.oops.TypeArray array
        end local 0 // sun.jvm.hotspot.utilities.HeapHprofBinWriter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lsun/jvm/hotspot/utilities/HeapHprofBinWriter;
            0    7     1   array  Lsun/jvm/hotspot/oops/TypeArray;
            0    7     2  length  I
            1    6     3   index  I
            3    4     4  offset  J
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      array   
      length  

  private void writeFloatArray(sun.jvm.hotspot.oops.TypeArray, int);
    descriptor: (Lsun/jvm/hotspot/oops/TypeArray;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=6, args_size=3
        start local 0 // sun.jvm.hotspot.utilities.HeapHprofBinWriter this
        start local 1 // sun.jvm.hotspot.oops.TypeArray array
        start local 2 // int length
         0: .line 927
            iconst_0
            istore 3 /* index */
        start local 3 // int index
         1: goto 5
         2: .line 928
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.FLOAT_BASE_OFFSET:J
            iload 3 /* index */
            i2l
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.FLOAT_SIZE:J
            lmul
            ladd
            lstore 4 /* offset */
        start local 4 // long offset
         3: .line 929
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.out:Ljava/io/DataOutputStream;
            aload 1 /* array */
            invokevirtual sun.jvm.hotspot.oops.TypeArray.getHandle:()Lsun/jvm/hotspot/debugger/OopHandle;
            lload 4 /* offset */
            invokeinterface sun.jvm.hotspot.debugger.OopHandle.getJFloatAt:(J)F
            invokevirtual java.io.DataOutputStream.writeFloat:(F)V
        end local 4 // long offset
         4: .line 927
            iinc 3 /* index */ 1
      StackMap locals:
      StackMap stack:
         5: iload 3 /* index */
            iload 2 /* length */
            if_icmplt 2
        end local 3 // int index
         6: .line 931
            return
        end local 2 // int length
        end local 1 // sun.jvm.hotspot.oops.TypeArray array
        end local 0 // sun.jvm.hotspot.utilities.HeapHprofBinWriter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lsun/jvm/hotspot/utilities/HeapHprofBinWriter;
            0    7     1   array  Lsun/jvm/hotspot/oops/TypeArray;
            0    7     2  length  I
            1    6     3   index  I
            3    4     4  offset  J
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      array   
      length  

  private void writeDoubleArray(sun.jvm.hotspot.oops.TypeArray, int);
    descriptor: (Lsun/jvm/hotspot/oops/TypeArray;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=6, args_size=3
        start local 0 // sun.jvm.hotspot.utilities.HeapHprofBinWriter this
        start local 1 // sun.jvm.hotspot.oops.TypeArray array
        start local 2 // int length
         0: .line 934
            iconst_0
            istore 3 /* index */
        start local 3 // int index
         1: goto 5
         2: .line 935
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.DOUBLE_BASE_OFFSET:J
            iload 3 /* index */
            i2l
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.DOUBLE_SIZE:J
            lmul
            ladd
            lstore 4 /* offset */
        start local 4 // long offset
         3: .line 936
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.out:Ljava/io/DataOutputStream;
            aload 1 /* array */
            invokevirtual sun.jvm.hotspot.oops.TypeArray.getHandle:()Lsun/jvm/hotspot/debugger/OopHandle;
            lload 4 /* offset */
            invokeinterface sun.jvm.hotspot.debugger.OopHandle.getJDoubleAt:(J)D
            invokevirtual java.io.DataOutputStream.writeDouble:(D)V
        end local 4 // long offset
         4: .line 934
            iinc 3 /* index */ 1
      StackMap locals:
      StackMap stack:
         5: iload 3 /* index */
            iload 2 /* length */
            if_icmplt 2
        end local 3 // int index
         6: .line 938
            return
        end local 2 // int length
        end local 1 // sun.jvm.hotspot.oops.TypeArray array
        end local 0 // sun.jvm.hotspot.utilities.HeapHprofBinWriter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lsun/jvm/hotspot/utilities/HeapHprofBinWriter;
            0    7     1   array  Lsun/jvm/hotspot/oops/TypeArray;
            0    7     2  length  I
            1    6     3   index  I
            3    4     4  offset  J
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      array   
      length  

  protected void writeInstance(sun.jvm.hotspot.oops.Instance);
    descriptor: (Lsun/jvm/hotspot/oops/Instance;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // sun.jvm.hotspot.utilities.HeapHprofBinWriter this
        start local 1 // sun.jvm.hotspot.oops.Instance instance
         0: .line 941
            aload 1 /* instance */
            invokevirtual sun.jvm.hotspot.oops.Instance.getKlass:()Lsun/jvm/hotspot/oops/Klass;
            astore 2 /* klass */
        start local 2 // sun.jvm.hotspot.oops.Klass klass
         1: .line 942
            aload 2 /* klass */
            invokevirtual sun.jvm.hotspot.oops.Klass.getClassLoaderData:()Lsun/jvm/hotspot/classfile/ClassLoaderData;
            ifnonnull 3
         2: .line 945
            return
         3: .line 948
      StackMap locals: sun.jvm.hotspot.oops.Klass
      StackMap stack:
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.out:Ljava/io/DataOutputStream;
            bipush 33
            invokevirtual java.io.DataOutputStream.writeByte:(I)V
         4: .line 949
            aload 0 /* this */
            aload 1 /* instance */
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.writeObjectID:(Lsun/jvm/hotspot/oops/Oop;)V
         5: .line 950
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.out:Ljava/io/DataOutputStream;
            iconst_1
            invokevirtual java.io.DataOutputStream.writeInt:(I)V
         6: .line 951
            aload 0 /* this */
            aload 2 /* klass */
            invokevirtual sun.jvm.hotspot.oops.Klass.getJavaMirror:()Lsun/jvm/hotspot/oops/Instance;
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.writeObjectID:(Lsun/jvm/hotspot/oops/Oop;)V
         7: .line 953
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.classDataCache:Ljava/util/Map;
            aload 2 /* klass */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast sun.jvm.hotspot.utilities.HeapHprofBinWriter$ClassData
            astore 3 /* cd */
        start local 3 // sun.jvm.hotspot.utilities.HeapHprofBinWriter$ClassData cd
         8: .line 955
            getstatic sun.jvm.hotspot.utilities.Assert.ASSERTS_ENABLED:Z
            ifeq 12
         9: .line 956
            aload 3 /* cd */
            ifnull 10
            iconst_1
            goto 11
      StackMap locals: sun.jvm.hotspot.utilities.HeapHprofBinWriter$ClassData
      StackMap stack:
        10: iconst_0
      StackMap locals:
      StackMap stack: int
        11: new java.lang.StringBuilder
            dup
            ldc "can not get class data for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* klass */
            invokevirtual sun.jvm.hotspot.oops.Klass.getName:()Lsun/jvm/hotspot/oops/Symbol;
            invokevirtual sun.jvm.hotspot.oops.Symbol.asString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* klass */
            invokevirtual sun.jvm.hotspot.oops.Klass.getAddress:()Lsun/jvm/hotspot/debugger/Address;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic sun.jvm.hotspot.utilities.Assert.that:(ZLjava/lang/String;)V
        12: .line 958
      StackMap locals:
      StackMap stack:
            aload 3 /* cd */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter$ClassData.fields:Ljava/util/List;
            astore 4 /* fields */
        start local 4 // java.util.List fields
        13: .line 959
            aload 3 /* cd */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter$ClassData.instSize:I
            istore 5 /* size */
        start local 5 // int size
        14: .line 960
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.out:Ljava/io/DataOutputStream;
            iload 5 /* size */
            invokevirtual java.io.DataOutputStream.writeInt:(I)V
        15: .line 961
            aload 4 /* fields */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6 /* itr */
        start local 6 // java.util.Iterator itr
        16: goto 18
        17: .line 962
      StackMap locals: java.util.List int java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            aload 6 /* itr */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.jvm.hotspot.oops.Field
            aload 1 /* instance */
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.writeField:(Lsun/jvm/hotspot/oops/Field;Lsun/jvm/hotspot/oops/Oop;)V
        18: .line 961
      StackMap locals:
      StackMap stack:
            aload 6 /* itr */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 17
        end local 6 // java.util.Iterator itr
        19: .line 964
            return
        end local 5 // int size
        end local 4 // java.util.List fields
        end local 3 // sun.jvm.hotspot.utilities.HeapHprofBinWriter$ClassData cd
        end local 2 // sun.jvm.hotspot.oops.Klass klass
        end local 1 // sun.jvm.hotspot.oops.Instance instance
        end local 0 // sun.jvm.hotspot.utilities.HeapHprofBinWriter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   20     0      this  Lsun/jvm/hotspot/utilities/HeapHprofBinWriter;
            0   20     1  instance  Lsun/jvm/hotspot/oops/Instance;
            1   20     2     klass  Lsun/jvm/hotspot/oops/Klass;
            8   20     3        cd  Lsun/jvm/hotspot/utilities/HeapHprofBinWriter$ClassData;
           13   20     4    fields  Ljava/util/List;
           14   20     5      size  I
           16   19     6       itr  Ljava/util/Iterator;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      instance  

  private void writeFieldDescriptors(java.util.List, sun.jvm.hotspot.oops.InstanceKlass);
    descriptor: (Ljava/util/List;Lsun/jvm/hotspot/oops/InstanceKlass;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=8, args_size=3
        start local 0 // sun.jvm.hotspot.utilities.HeapHprofBinWriter this
        start local 1 // java.util.List fields
        start local 2 // sun.jvm.hotspot.oops.InstanceKlass ik
         0: .line 971
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.out:Ljava/io/DataOutputStream;
            aload 1 /* fields */
            invokeinterface java.util.List.size:()I
            i2s
            invokevirtual java.io.DataOutputStream.writeShort:(I)V
         1: .line 972
            aload 1 /* fields */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3 /* itr */
        start local 3 // java.util.Iterator itr
         2: goto 11
         3: .line 973
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 3 /* itr */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.jvm.hotspot.oops.Field
            astore 4 /* field */
        start local 4 // sun.jvm.hotspot.oops.Field field
         4: .line 974
            aload 4 /* field */
            invokevirtual sun.jvm.hotspot.oops.Field.getName:()Lsun/jvm/hotspot/oops/Symbol;
            astore 5 /* name */
        start local 5 // sun.jvm.hotspot.oops.Symbol name
         5: .line 975
            aload 0 /* this */
            aload 5 /* name */
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.writeSymbolID:(Lsun/jvm/hotspot/oops/Symbol;)V
         6: .line 976
            aload 4 /* field */
            invokevirtual sun.jvm.hotspot.oops.Field.getSignature:()Lsun/jvm/hotspot/oops/Symbol;
            lconst_0
            invokevirtual sun.jvm.hotspot.oops.Symbol.getByteAt:(J)B
            i2c
            istore 6 /* typeCode */
        start local 6 // char typeCode
         7: .line 977
            iload 6 /* typeCode */
            invokestatic sun.jvm.hotspot.utilities.HeapHprofBinWriter.signatureToHprofKind:(C)I
            istore 7 /* kind */
        start local 7 // int kind
         8: .line 978
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.out:Ljava/io/DataOutputStream;
            iload 7 /* kind */
            i2b
            invokevirtual java.io.DataOutputStream.writeByte:(I)V
         9: .line 979
            aload 2 /* ik */
            ifnull 11
        10: .line 981
            aload 0 /* this */
            aload 4 /* field */
            aload 2 /* ik */
            invokevirtual sun.jvm.hotspot.oops.InstanceKlass.getJavaMirror:()Lsun/jvm/hotspot/oops/Instance;
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.writeField:(Lsun/jvm/hotspot/oops/Field;Lsun/jvm/hotspot/oops/Oop;)V
        end local 7 // int kind
        end local 6 // char typeCode
        end local 5 // sun.jvm.hotspot.oops.Symbol name
        end local 4 // sun.jvm.hotspot.oops.Field field
        11: .line 972
      StackMap locals:
      StackMap stack:
            aload 3 /* itr */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        end local 3 // java.util.Iterator itr
        12: .line 984
            return
        end local 2 // sun.jvm.hotspot.oops.InstanceKlass ik
        end local 1 // java.util.List fields
        end local 0 // sun.jvm.hotspot.utilities.HeapHprofBinWriter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   13     0      this  Lsun/jvm/hotspot/utilities/HeapHprofBinWriter;
            0   13     1    fields  Ljava/util/List;
            0   13     2        ik  Lsun/jvm/hotspot/oops/InstanceKlass;
            2   12     3       itr  Ljava/util/Iterator;
            4   11     4     field  Lsun/jvm/hotspot/oops/Field;
            5   11     5      name  Lsun/jvm/hotspot/oops/Symbol;
            7   11     6  typeCode  C
            8   11     7      kind  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      fields  
      ik      

  public static int signatureToHprofKind(char);
    descriptor: (C)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // char ch
         0: .line 987
            iload 0 /* ch */
            lookupswitch { // 10
                   66: 6
                   67: 3
                   68: 5
                   70: 4
                   73: 8
                   74: 9
                   76: 1
                   83: 7
                   90: 2
                   91: 1
              default: 10
          }
         1: .line 990
      StackMap locals:
      StackMap stack:
            iconst_2
            ireturn
         2: .line 992
      StackMap locals:
      StackMap stack:
            iconst_4
            ireturn
         3: .line 994
      StackMap locals:
      StackMap stack:
            iconst_5
            ireturn
         4: .line 996
      StackMap locals:
      StackMap stack:
            bipush 6
            ireturn
         5: .line 998
      StackMap locals:
      StackMap stack:
            bipush 7
            ireturn
         6: .line 1000
      StackMap locals:
      StackMap stack:
            bipush 8
            ireturn
         7: .line 1002
      StackMap locals:
      StackMap stack:
            bipush 9
            ireturn
         8: .line 1004
      StackMap locals:
      StackMap stack:
            bipush 10
            ireturn
         9: .line 1006
      StackMap locals:
      StackMap stack:
            bipush 11
            ireturn
        10: .line 1008
      StackMap locals:
      StackMap stack:
            new java.lang.RuntimeException
            dup
            ldc "should not reach here"
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // char ch
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0    ch  C
    MethodParameters:
      Name  Flags
      ch    

  private void writeField(sun.jvm.hotspot.oops.Field, sun.jvm.hotspot.oops.Oop);
    descriptor: (Lsun/jvm/hotspot/oops/Field;Lsun/jvm/hotspot/oops/Oop;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // sun.jvm.hotspot.utilities.HeapHprofBinWriter this
        start local 1 // sun.jvm.hotspot.oops.Field field
        start local 2 // sun.jvm.hotspot.oops.Oop oop
         0: .line 1013
            aload 1 /* field */
            invokevirtual sun.jvm.hotspot.oops.Field.getSignature:()Lsun/jvm/hotspot/oops/Symbol;
            lconst_0
            invokevirtual sun.jvm.hotspot.oops.Symbol.getByteAt:(J)B
            i2c
            istore 3 /* typeCode */
        start local 3 // char typeCode
         1: .line 1014
            iload 3 /* typeCode */
            lookupswitch { // 10
                   66: 6
                   67: 4
                   68: 16
                   70: 14
                   73: 10
                   74: 12
                   76: 18
                   83: 8
                   90: 2
                   91: 18
              default: 25
          }
         2: .line 1016
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.out:Ljava/io/DataOutputStream;
            aload 1 /* field */
            checkcast sun.jvm.hotspot.oops.BooleanField
            aload 2 /* oop */
            invokevirtual sun.jvm.hotspot.oops.BooleanField.getValue:(Lsun/jvm/hotspot/oops/Oop;)Z
            invokevirtual java.io.DataOutputStream.writeBoolean:(Z)V
         3: .line 1017
            goto 26
         4: .line 1019
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.out:Ljava/io/DataOutputStream;
            aload 1 /* field */
            checkcast sun.jvm.hotspot.oops.CharField
            aload 2 /* oop */
            invokevirtual sun.jvm.hotspot.oops.CharField.getValue:(Lsun/jvm/hotspot/oops/Oop;)C
            invokevirtual java.io.DataOutputStream.writeChar:(I)V
         5: .line 1020
            goto 26
         6: .line 1022
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.out:Ljava/io/DataOutputStream;
            aload 1 /* field */
            checkcast sun.jvm.hotspot.oops.ByteField
            aload 2 /* oop */
            invokevirtual sun.jvm.hotspot.oops.ByteField.getValue:(Lsun/jvm/hotspot/oops/Oop;)B
            invokevirtual java.io.DataOutputStream.writeByte:(I)V
         7: .line 1023
            goto 26
         8: .line 1025
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.out:Ljava/io/DataOutputStream;
            aload 1 /* field */
            checkcast sun.jvm.hotspot.oops.ShortField
            aload 2 /* oop */
            invokevirtual sun.jvm.hotspot.oops.ShortField.getValue:(Lsun/jvm/hotspot/oops/Oop;)S
            invokevirtual java.io.DataOutputStream.writeShort:(I)V
         9: .line 1026
            goto 26
        10: .line 1028
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.out:Ljava/io/DataOutputStream;
            aload 1 /* field */
            checkcast sun.jvm.hotspot.oops.IntField
            aload 2 /* oop */
            invokevirtual sun.jvm.hotspot.oops.IntField.getValue:(Lsun/jvm/hotspot/oops/Oop;)I
            invokevirtual java.io.DataOutputStream.writeInt:(I)V
        11: .line 1029
            goto 26
        12: .line 1031
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.out:Ljava/io/DataOutputStream;
            aload 1 /* field */
            checkcast sun.jvm.hotspot.oops.LongField
            aload 2 /* oop */
            invokevirtual sun.jvm.hotspot.oops.LongField.getValue:(Lsun/jvm/hotspot/oops/Oop;)J
            invokevirtual java.io.DataOutputStream.writeLong:(J)V
        13: .line 1032
            goto 26
        14: .line 1034
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.out:Ljava/io/DataOutputStream;
            aload 1 /* field */
            checkcast sun.jvm.hotspot.oops.FloatField
            aload 2 /* oop */
            invokevirtual sun.jvm.hotspot.oops.FloatField.getValue:(Lsun/jvm/hotspot/oops/Oop;)F
            invokevirtual java.io.DataOutputStream.writeFloat:(F)V
        15: .line 1035
            goto 26
        16: .line 1037
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.out:Ljava/io/DataOutputStream;
            aload 1 /* field */
            checkcast sun.jvm.hotspot.oops.DoubleField
            aload 2 /* oop */
            invokevirtual sun.jvm.hotspot.oops.DoubleField.getValue:(Lsun/jvm/hotspot/oops/Oop;)D
            invokevirtual java.io.DataOutputStream.writeDouble:(D)V
        17: .line 1038
            goto 26
        18: .line 1041
      StackMap locals:
      StackMap stack:
            invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
            invokevirtual sun.jvm.hotspot.runtime.VM.isCompressedOopsEnabled:()Z
            ifeq 22
        19: .line 1042
            aload 1 /* field */
            checkcast sun.jvm.hotspot.oops.NarrowOopField
            aload 2 /* oop */
            invokevirtual sun.jvm.hotspot.oops.NarrowOopField.getValueAsOopHandle:(Lsun/jvm/hotspot/oops/Oop;)Lsun/jvm/hotspot/debugger/OopHandle;
            astore 4 /* handle */
        start local 4 // sun.jvm.hotspot.debugger.OopHandle handle
        20: .line 1043
            aload 0 /* this */
            aload 0 /* this */
            aload 4 /* handle */
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.getAddressValue:(Lsun/jvm/hotspot/debugger/Address;)J
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.writeObjectID:(J)V
        end local 4 // sun.jvm.hotspot.debugger.OopHandle handle
        21: .line 1044
            goto 26
        22: .line 1045
      StackMap locals:
      StackMap stack:
            aload 1 /* field */
            checkcast sun.jvm.hotspot.oops.OopField
            aload 2 /* oop */
            invokevirtual sun.jvm.hotspot.oops.OopField.getValueAsOopHandle:(Lsun/jvm/hotspot/oops/Oop;)Lsun/jvm/hotspot/debugger/OopHandle;
            astore 4 /* handle */
        start local 4 // sun.jvm.hotspot.debugger.OopHandle handle
        23: .line 1046
            aload 0 /* this */
            aload 0 /* this */
            aload 4 /* handle */
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.getAddressValue:(Lsun/jvm/hotspot/debugger/Address;)J
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.writeObjectID:(J)V
        end local 4 // sun.jvm.hotspot.debugger.OopHandle handle
        24: .line 1048
            goto 26
        25: .line 1051
      StackMap locals:
      StackMap stack:
            new java.lang.RuntimeException
            dup
            ldc "should not reach here"
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        26: .line 1053
      StackMap locals:
      StackMap stack:
            return
        end local 3 // char typeCode
        end local 2 // sun.jvm.hotspot.oops.Oop oop
        end local 1 // sun.jvm.hotspot.oops.Field field
        end local 0 // sun.jvm.hotspot.utilities.HeapHprofBinWriter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   27     0      this  Lsun/jvm/hotspot/utilities/HeapHprofBinWriter;
            0   27     1     field  Lsun/jvm/hotspot/oops/Field;
            0   27     2       oop  Lsun/jvm/hotspot/oops/Oop;
            1   27     3  typeCode  C
           20   21     4    handle  Lsun/jvm/hotspot/debugger/OopHandle;
           23   24     4    handle  Lsun/jvm/hotspot/debugger/OopHandle;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      field  
      oop    

  private void writeHeader(int, int);
    descriptor: (II)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // sun.jvm.hotspot.utilities.HeapHprofBinWriter this
        start local 1 // int tag
        start local 2 // int len
         0: .line 1056
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.out:Ljava/io/DataOutputStream;
            iload 1 /* tag */
            i2b
            invokevirtual java.io.DataOutputStream.writeByte:(I)V
         1: .line 1057
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.out:Ljava/io/DataOutputStream;
            iconst_0
            invokevirtual java.io.DataOutputStream.writeInt:(I)V
         2: .line 1058
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.out:Ljava/io/DataOutputStream;
            iload 2 /* len */
            invokevirtual java.io.DataOutputStream.writeInt:(I)V
         3: .line 1059
            return
        end local 2 // int len
        end local 1 // int tag
        end local 0 // sun.jvm.hotspot.utilities.HeapHprofBinWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/jvm/hotspot/utilities/HeapHprofBinWriter;
            0    4     1   tag  I
            0    4     2   len  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      tag   
      len   

  private void writeDummyTrace();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.jvm.hotspot.utilities.HeapHprofBinWriter this
         0: .line 1062
            aload 0 /* this */
            iconst_5
            bipush 12
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.writeHeader:(II)V
         1: .line 1063
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.out:Ljava/io/DataOutputStream;
            iconst_1
            invokevirtual java.io.DataOutputStream.writeInt:(I)V
         2: .line 1064
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.out:Ljava/io/DataOutputStream;
            iconst_0
            invokevirtual java.io.DataOutputStream.writeInt:(I)V
         3: .line 1065
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.out:Ljava/io/DataOutputStream;
            iconst_0
            invokevirtual java.io.DataOutputStream.writeInt:(I)V
         4: .line 1066
            return
        end local 0 // sun.jvm.hotspot.utilities.HeapHprofBinWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lsun/jvm/hotspot/utilities/HeapHprofBinWriter;
    Exceptions:
      throws java.io.IOException

  private void writeClassSymbols(sun.jvm.hotspot.oops.Klass);
    descriptor: (Lsun/jvm/hotspot/oops/Klass;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // sun.jvm.hotspot.utilities.HeapHprofBinWriter this
        start local 1 // sun.jvm.hotspot.oops.Klass k
         0: .line 1069
            aload 0 /* this */
            aload 1 /* k */
            invokevirtual sun.jvm.hotspot.oops.Klass.getName:()Lsun/jvm/hotspot/oops/Symbol;
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.writeSymbol:(Lsun/jvm/hotspot/oops/Symbol;)V
         1: .line 1070
            aload 1 /* k */
            instanceof sun.jvm.hotspot.oops.InstanceKlass
            ifeq 9
         2: .line 1071
            aload 1 /* k */
            checkcast sun.jvm.hotspot.oops.InstanceKlass
            astore 2 /* ik */
        start local 2 // sun.jvm.hotspot.oops.InstanceKlass ik
         3: .line 1072
            aload 2 /* ik */
            invokevirtual sun.jvm.hotspot.oops.InstanceKlass.getImmediateFields:()Ljava/util/List;
            astore 3 /* declaredFields */
        start local 3 // java.util.List declaredFields
         4: .line 1073
            aload 3 /* declaredFields */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4 /* itr */
        start local 4 // java.util.Iterator itr
         5: goto 8
         6: .line 1074
      StackMap locals: sun.jvm.hotspot.oops.InstanceKlass java.util.List java.util.Iterator
      StackMap stack:
            aload 4 /* itr */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.jvm.hotspot.oops.Field
            astore 5 /* field */
        start local 5 // sun.jvm.hotspot.oops.Field field
         7: .line 1075
            aload 0 /* this */
            aload 5 /* field */
            invokevirtual sun.jvm.hotspot.oops.Field.getName:()Lsun/jvm/hotspot/oops/Symbol;
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.writeSymbol:(Lsun/jvm/hotspot/oops/Symbol;)V
        end local 5 // sun.jvm.hotspot.oops.Field field
         8: .line 1073
      StackMap locals:
      StackMap stack:
            aload 4 /* itr */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        end local 4 // java.util.Iterator itr
        end local 3 // java.util.List declaredFields
        end local 2 // sun.jvm.hotspot.oops.InstanceKlass ik
         9: .line 1078
      StackMap locals:
      StackMap stack:
            return
        end local 1 // sun.jvm.hotspot.oops.Klass k
        end local 0 // sun.jvm.hotspot.utilities.HeapHprofBinWriter this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   10     0            this  Lsun/jvm/hotspot/utilities/HeapHprofBinWriter;
            0   10     1               k  Lsun/jvm/hotspot/oops/Klass;
            3    9     2              ik  Lsun/jvm/hotspot/oops/InstanceKlass;
            4    9     3  declaredFields  Ljava/util/List;
            5    9     4             itr  Ljava/util/Iterator;
            7    8     5           field  Lsun/jvm/hotspot/oops/Field;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      k     

  private void writeSymbols();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // sun.jvm.hotspot.utilities.HeapHprofBinWriter this
         0: .line 1082
            invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
            invokevirtual sun.jvm.hotspot.runtime.VM.getClassLoaderDataGraph:()Lsun/jvm/hotspot/classfile/ClassLoaderDataGraph;
            astore 1 /* cldGraph */
        start local 1 // sun.jvm.hotspot.classfile.ClassLoaderDataGraph cldGraph
         1: .line 1084
            aload 1 /* cldGraph */
            new sun.jvm.hotspot.utilities.HeapHprofBinWriter$3
            dup
            aload 0 /* this */
            invokespecial sun.jvm.hotspot.utilities.HeapHprofBinWriter$3.<init>:(Lsun/jvm/hotspot/utilities/HeapHprofBinWriter;)V
            invokevirtual sun.jvm.hotspot.classfile.ClassLoaderDataGraph.classesDo:(Lsun/jvm/hotspot/classfile/ClassLoaderDataGraph$ClassVisitor;)V
         2: .line 1093
            goto 5
      StackMap locals: sun.jvm.hotspot.utilities.HeapHprofBinWriter sun.jvm.hotspot.classfile.ClassLoaderDataGraph
      StackMap stack: java.lang.RuntimeException
         3: astore 2 /* re */
        start local 2 // java.lang.RuntimeException re
         4: .line 1094
            aload 0 /* this */
            aload 2 /* re */
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.handleRuntimeException:(Ljava/lang/RuntimeException;)V
        end local 2 // java.lang.RuntimeException re
         5: .line 1096
      StackMap locals:
      StackMap stack:
            return
        end local 1 // sun.jvm.hotspot.classfile.ClassLoaderDataGraph cldGraph
        end local 0 // sun.jvm.hotspot.utilities.HeapHprofBinWriter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lsun/jvm/hotspot/utilities/HeapHprofBinWriter;
            1    6     1  cldGraph  Lsun/jvm/hotspot/classfile/ClassLoaderDataGraph;
            4    5     2        re  Ljava/lang/RuntimeException;
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.RuntimeException
    Exceptions:
      throws java.io.IOException

  private void writeSymbol(sun.jvm.hotspot.oops.Symbol);
    descriptor: (Lsun/jvm/hotspot/oops/Symbol;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // sun.jvm.hotspot.utilities.HeapHprofBinWriter this
        start local 1 // sun.jvm.hotspot.oops.Symbol sym
         0: .line 1100
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.names:Ljava/util/HashSet;
            aload 1 /* sym */
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            ifeq 9
         1: .line 1101
            aload 1 /* sym */
            ifnull 7
         2: .line 1102
            aload 1 /* sym */
            invokevirtual sun.jvm.hotspot.oops.Symbol.asString:()Ljava/lang/String;
            ldc "UTF-8"
            invokevirtual java.lang.String.getBytes:(Ljava/lang/String;)[B
            astore 2 /* buf */
        start local 2 // byte[] buf
         3: .line 1103
            aload 0 /* this */
            iconst_1
            aload 2 /* buf */
            arraylength
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.OBJ_ID_SIZE:I
            iadd
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.writeHeader:(II)V
         4: .line 1104
            aload 0 /* this */
            aload 1 /* sym */
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.writeSymbolID:(Lsun/jvm/hotspot/oops/Symbol;)V
         5: .line 1105
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.out:Ljava/io/DataOutputStream;
            aload 2 /* buf */
            invokevirtual java.io.DataOutputStream.write:([B)V
        end local 2 // byte[] buf
         6: .line 1106
            goto 9
         7: .line 1107
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            iconst_0
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.OBJ_ID_SIZE:I
            iadd
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.writeHeader:(II)V
         8: .line 1108
            aload 0 /* this */
            aconst_null
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.writeSymbolID:(Lsun/jvm/hotspot/oops/Symbol;)V
         9: .line 1111
      StackMap locals:
      StackMap stack:
            return
        end local 1 // sun.jvm.hotspot.oops.Symbol sym
        end local 0 // sun.jvm.hotspot.utilities.HeapHprofBinWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lsun/jvm/hotspot/utilities/HeapHprofBinWriter;
            0   10     1   sym  Lsun/jvm/hotspot/oops/Symbol;
            3    6     2   buf  [B
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      sym   

  private void writeClasses();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // sun.jvm.hotspot.utilities.HeapHprofBinWriter this
         0: .line 1115
            invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
            invokevirtual sun.jvm.hotspot.runtime.VM.getClassLoaderDataGraph:()Lsun/jvm/hotspot/classfile/ClassLoaderDataGraph;
            astore 1 /* cldGraph */
        start local 1 // sun.jvm.hotspot.classfile.ClassLoaderDataGraph cldGraph
         1: .line 1117
            aload 1 /* cldGraph */
            new sun.jvm.hotspot.utilities.HeapHprofBinWriter$4
            dup
            aload 0 /* this */
            invokespecial sun.jvm.hotspot.utilities.HeapHprofBinWriter$4.<init>:(Lsun/jvm/hotspot/utilities/HeapHprofBinWriter;)V
            invokevirtual sun.jvm.hotspot.classfile.ClassLoaderDataGraph.classesDo:(Lsun/jvm/hotspot/classfile/ClassLoaderDataGraph$ClassVisitor;)V
         2: .line 1133
            goto 5
      StackMap locals: sun.jvm.hotspot.utilities.HeapHprofBinWriter sun.jvm.hotspot.classfile.ClassLoaderDataGraph
      StackMap stack: java.lang.RuntimeException
         3: astore 2 /* re */
        start local 2 // java.lang.RuntimeException re
         4: .line 1134
            aload 0 /* this */
            aload 2 /* re */
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.handleRuntimeException:(Ljava/lang/RuntimeException;)V
        end local 2 // java.lang.RuntimeException re
         5: .line 1136
      StackMap locals:
      StackMap stack:
            return
        end local 1 // sun.jvm.hotspot.classfile.ClassLoaderDataGraph cldGraph
        end local 0 // sun.jvm.hotspot.utilities.HeapHprofBinWriter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lsun/jvm/hotspot/utilities/HeapHprofBinWriter;
            1    6     1  cldGraph  Lsun/jvm/hotspot/classfile/ClassLoaderDataGraph;
            4    5     2        re  Ljava/lang/RuntimeException;
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.RuntimeException
    Exceptions:
      throws java.io.IOException

  private void writeFileHeader();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.jvm.hotspot.utilities.HeapHprofBinWriter this
         0: .line 1141
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.out:Ljava/io/DataOutputStream;
            ldc "JAVA PROFILE 1.0.2"
            invokevirtual java.io.DataOutputStream.writeBytes:(Ljava/lang/String;)V
         1: .line 1142
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.out:Ljava/io/DataOutputStream;
            iconst_0
            invokevirtual java.io.DataOutputStream.writeByte:(I)V
         2: .line 1145
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.out:Ljava/io/DataOutputStream;
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.OBJ_ID_SIZE:I
            invokevirtual java.io.DataOutputStream.writeInt:(I)V
         3: .line 1148
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.out:Ljava/io/DataOutputStream;
            invokestatic java.lang.System.currentTimeMillis:()J
            invokevirtual java.io.DataOutputStream.writeLong:(J)V
         4: .line 1149
            return
        end local 0 // sun.jvm.hotspot.utilities.HeapHprofBinWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lsun/jvm/hotspot/utilities/HeapHprofBinWriter;
    Exceptions:
      throws java.io.IOException

  private void writeObjectID(sun.jvm.hotspot.oops.Oop);
    descriptor: (Lsun/jvm/hotspot/oops/Oop;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // sun.jvm.hotspot.utilities.HeapHprofBinWriter this
        start local 1 // sun.jvm.hotspot.oops.Oop oop
         0: .line 1153
            aload 1 /* oop */
            ifnull 1
            aload 1 /* oop */
            invokevirtual sun.jvm.hotspot.oops.Oop.getHandle:()Lsun/jvm/hotspot/debugger/OopHandle;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aconst_null
      StackMap locals:
      StackMap stack: sun.jvm.hotspot.debugger.OopHandle
         2: astore 2 /* handle */
        start local 2 // sun.jvm.hotspot.debugger.OopHandle handle
         3: .line 1154
            aload 0 /* this */
            aload 2 /* handle */
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.getAddressValue:(Lsun/jvm/hotspot/debugger/Address;)J
            lstore 3 /* address */
        start local 3 // long address
         4: .line 1155
            aload 0 /* this */
            lload 3 /* address */
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.writeObjectID:(J)V
         5: .line 1156
            return
        end local 3 // long address
        end local 2 // sun.jvm.hotspot.debugger.OopHandle handle
        end local 1 // sun.jvm.hotspot.oops.Oop oop
        end local 0 // sun.jvm.hotspot.utilities.HeapHprofBinWriter this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lsun/jvm/hotspot/utilities/HeapHprofBinWriter;
            0    6     1      oop  Lsun/jvm/hotspot/oops/Oop;
            3    6     2   handle  Lsun/jvm/hotspot/debugger/OopHandle;
            4    6     3  address  J
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      oop   

  private void writeSymbolID(sun.jvm.hotspot.oops.Symbol);
    descriptor: (Lsun/jvm/hotspot/oops/Symbol;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // sun.jvm.hotspot.utilities.HeapHprofBinWriter this
        start local 1 // sun.jvm.hotspot.oops.Symbol sym
         0: .line 1159
            getstatic sun.jvm.hotspot.utilities.HeapHprofBinWriter.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.names:Ljava/util/HashSet;
            aload 1 /* sym */
            invokevirtual java.util.HashSet.contains:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 1160
      StackMap locals:
      StackMap stack:
            aload 1 /* sym */
            ifnull 2
            aload 0 /* this */
            aload 1 /* sym */
            invokevirtual sun.jvm.hotspot.oops.Symbol.getAddress:()Lsun/jvm/hotspot/debugger/Address;
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.getAddressValue:(Lsun/jvm/hotspot/debugger/Address;)J
            goto 3
      StackMap locals:
      StackMap stack:
         2: aload 0 /* this */
            aconst_null
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.getAddressValue:(Lsun/jvm/hotspot/debugger/Address;)J
      StackMap locals:
      StackMap stack: long
         3: lstore 2 /* address */
        start local 2 // long address
         4: .line 1161
            aload 0 /* this */
            lload 2 /* address */
            invokevirtual sun.jvm.hotspot.utilities.HeapHprofBinWriter.writeObjectID:(J)V
         5: .line 1162
            return
        end local 2 // long address
        end local 1 // sun.jvm.hotspot.oops.Symbol sym
        end local 0 // sun.jvm.hotspot.utilities.HeapHprofBinWriter this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lsun/jvm/hotspot/utilities/HeapHprofBinWriter;
            0    6     1      sym  Lsun/jvm/hotspot/oops/Symbol;
            4    6     2  address  J
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      sym   

  private void writeObjectID(long);
    descriptor: (J)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // sun.jvm.hotspot.utilities.HeapHprofBinWriter this
        start local 1 // long address
         0: .line 1165
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.OBJ_ID_SIZE:I
            iconst_4
            if_icmpne 3
         1: .line 1166
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.out:Ljava/io/DataOutputStream;
            lload 1 /* address */
            l2i
            invokevirtual java.io.DataOutputStream.writeInt:(I)V
         2: .line 1167
            goto 4
         3: .line 1168
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.out:Ljava/io/DataOutputStream;
            lload 1 /* address */
            invokevirtual java.io.DataOutputStream.writeLong:(J)V
         4: .line 1170
      StackMap locals:
      StackMap stack:
            return
        end local 1 // long address
        end local 0 // sun.jvm.hotspot.utilities.HeapHprofBinWriter this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lsun/jvm/hotspot/utilities/HeapHprofBinWriter;
            0    5     1  address  J
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      address  

  private long getAddressValue(sun.jvm.hotspot.debugger.Address);
    descriptor: (Lsun/jvm/hotspot/debugger/Address;)J
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.jvm.hotspot.utilities.HeapHprofBinWriter this
        start local 1 // sun.jvm.hotspot.debugger.Address addr
         0: .line 1173
            aload 1 /* addr */
            ifnonnull 1
            lconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.dbg:Lsun/jvm/hotspot/debugger/Debugger;
            aload 1 /* addr */
            invokeinterface sun.jvm.hotspot.debugger.Debugger.getAddressValue:(Lsun/jvm/hotspot/debugger/Address;)J
      StackMap locals:
      StackMap stack: long
         2: lreturn
        end local 1 // sun.jvm.hotspot.debugger.Address addr
        end local 0 // sun.jvm.hotspot.utilities.HeapHprofBinWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/jvm/hotspot/utilities/HeapHprofBinWriter;
            0    3     1  addr  Lsun/jvm/hotspot/debugger/Address;
    MethodParameters:
      Name  Flags
      addr  

  private static java.util.List getInstanceFields(sun.jvm.hotspot.oops.InstanceKlass);
    descriptor: (Lsun/jvm/hotspot/oops/InstanceKlass;)Ljava/util/List;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=6, args_size=1
        start local 0 // sun.jvm.hotspot.oops.InstanceKlass ik
         0: .line 1178
            aload 0 /* ik */
            astore 1 /* klass */
        start local 1 // sun.jvm.hotspot.oops.InstanceKlass klass
         1: .line 1179
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* res */
        start local 2 // java.util.List res
         2: .line 1180
            goto 11
         3: .line 1181
      StackMap locals: sun.jvm.hotspot.oops.InstanceKlass java.util.List
      StackMap stack:
            aload 1 /* klass */
            invokevirtual sun.jvm.hotspot.oops.InstanceKlass.getImmediateFields:()Ljava/util/List;
            astore 3 /* curFields */
        start local 3 // java.util.List curFields
         4: .line 1182
            aload 3 /* curFields */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4 /* itr */
        start local 4 // java.util.Iterator itr
         5: goto 9
         6: .line 1183
      StackMap locals: java.util.List java.util.Iterator
      StackMap stack:
            aload 4 /* itr */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.jvm.hotspot.oops.Field
            astore 5 /* f */
        start local 5 // sun.jvm.hotspot.oops.Field f
         7: .line 1184
            aload 5 /* f */
            invokevirtual sun.jvm.hotspot.oops.Field.isStatic:()Z
            ifne 9
         8: .line 1185
            aload 2 /* res */
            aload 5 /* f */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 5 // sun.jvm.hotspot.oops.Field f
         9: .line 1182
      StackMap locals:
      StackMap stack:
            aload 4 /* itr */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        end local 4 // java.util.Iterator itr
        10: .line 1188
            aload 1 /* klass */
            invokevirtual sun.jvm.hotspot.oops.InstanceKlass.getSuper:()Lsun/jvm/hotspot/oops/Klass;
            checkcast sun.jvm.hotspot.oops.InstanceKlass
            astore 1 /* klass */
        end local 3 // java.util.List curFields
        11: .line 1180
      StackMap locals:
      StackMap stack:
            aload 1 /* klass */
            ifnonnull 3
        12: .line 1190
            aload 2 /* res */
            areturn
        end local 2 // java.util.List res
        end local 1 // sun.jvm.hotspot.oops.InstanceKlass klass
        end local 0 // sun.jvm.hotspot.oops.InstanceKlass ik
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   13     0         ik  Lsun/jvm/hotspot/oops/InstanceKlass;
            1   13     1      klass  Lsun/jvm/hotspot/oops/InstanceKlass;
            2   13     2        res  Ljava/util/List;
            4   11     3  curFields  Ljava/util/List;
            5   10     4        itr  Ljava/util/Iterator;
            7    9     5          f  Lsun/jvm/hotspot/oops/Field;
    MethodParameters:
      Name  Flags
      ik    

  private int getSizeForFields(java.util.List);
    descriptor: (Ljava/util/List;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // sun.jvm.hotspot.utilities.HeapHprofBinWriter this
        start local 1 // java.util.List fields
         0: .line 1197
            iconst_0
            istore 2 /* size */
        start local 2 // int size
         1: .line 1198
            aload 1 /* fields */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3 /* itr */
        start local 3 // java.util.Iterator itr
         2: goto 17
         3: .line 1199
      StackMap locals: int java.util.Iterator
      StackMap stack:
            aload 3 /* itr */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.jvm.hotspot.oops.Field
            astore 4 /* field */
        start local 4 // sun.jvm.hotspot.oops.Field field
         4: .line 1200
            aload 4 /* field */
            invokevirtual sun.jvm.hotspot.oops.Field.getSignature:()Lsun/jvm/hotspot/oops/Symbol;
            lconst_0
            invokevirtual sun.jvm.hotspot.oops.Symbol.getByteAt:(J)B
            i2c
            istore 5 /* typeCode */
        start local 5 // char typeCode
         5: .line 1201
            iload 5 /* typeCode */
            lookupswitch { // 10
                   66: 6
                   67: 8
                   68: 14
                   70: 10
                   73: 10
                   74: 14
                   76: 12
                   83: 8
                   90: 6
                   91: 12
              default: 16
          }
         6: .line 1204
      StackMap locals: sun.jvm.hotspot.oops.Field int
      StackMap stack:
            iinc 2 /* size */ 1
         7: .line 1205
            goto 17
         8: .line 1208
      StackMap locals:
      StackMap stack:
            iinc 2 /* size */ 2
         9: .line 1209
            goto 17
        10: .line 1212
      StackMap locals:
      StackMap stack:
            iinc 2 /* size */ 4
        11: .line 1213
            goto 17
        12: .line 1216
      StackMap locals:
      StackMap stack:
            iload 2 /* size */
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapHprofBinWriter.OBJ_ID_SIZE:I
            iadd
            istore 2 /* size */
        13: .line 1217
            goto 17
        14: .line 1220
      StackMap locals:
      StackMap stack:
            iinc 2 /* size */ 8
        15: .line 1221
            goto 17
        16: .line 1223
      StackMap locals:
      StackMap stack:
            new java.lang.RuntimeException
            dup
            ldc "should not reach here"
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // char typeCode
        end local 4 // sun.jvm.hotspot.oops.Field field
        17: .line 1198
      StackMap locals:
      StackMap stack:
            aload 3 /* itr */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        end local 3 // java.util.Iterator itr
        18: .line 1226
            iload 2 /* size */
            ireturn
        end local 2 // int size
        end local 1 // java.util.List fields
        end local 0 // sun.jvm.hotspot.utilities.HeapHprofBinWriter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   19     0      this  Lsun/jvm/hotspot/utilities/HeapHprofBinWriter;
            0   19     1    fields  Ljava/util/List;
            1   19     2      size  I
            2   18     3       itr  Ljava/util/Iterator;
            4   17     4     field  Lsun/jvm/hotspot/oops/Field;
            5   17     5  typeCode  C
    MethodParameters:
        Name  Flags
      fields  
}
SourceFile: "HeapHprofBinWriter.java"
NestMembers:
  sun.jvm.hotspot.utilities.HeapHprofBinWriter$1  sun.jvm.hotspot.utilities.HeapHprofBinWriter$2  sun.jvm.hotspot.utilities.HeapHprofBinWriter$3  sun.jvm.hotspot.utilities.HeapHprofBinWriter$4  sun.jvm.hotspot.utilities.HeapHprofBinWriter$ClassData
InnerClasses:
  public abstract ClassVisitor = sun.jvm.hotspot.classfile.ClassLoaderDataGraph$ClassVisitor of sun.jvm.hotspot.classfile.ClassLoaderDataGraph
  sun.jvm.hotspot.utilities.HeapHprofBinWriter$1
  sun.jvm.hotspot.utilities.HeapHprofBinWriter$2
  sun.jvm.hotspot.utilities.HeapHprofBinWriter$3
  sun.jvm.hotspot.utilities.HeapHprofBinWriter$4
  private ClassData = sun.jvm.hotspot.utilities.HeapHprofBinWriter$ClassData of sun.jvm.hotspot.utilities.HeapHprofBinWriter