public abstract class sun.jvm.hotspot.utilities.AbstractHeapGraphWriter implements sun.jvm.hotspot.utilities.HeapGraphWriter
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: sun.jvm.hotspot.utilities.AbstractHeapGraphWriter
  super_class: java.lang.Object
{
  protected java.lang.String javaLangClass;
    descriptor: Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED

  protected java.lang.String javaLangString;
    descriptor: Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED

  protected java.lang.String javaLangThread;
    descriptor: Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.jvm.hotspot.utilities.AbstractHeapGraphWriter this
         0: .line 43
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // sun.jvm.hotspot.utilities.AbstractHeapGraphWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/jvm/hotspot/utilities/AbstractHeapGraphWriter;

  protected void write();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // sun.jvm.hotspot.utilities.AbstractHeapGraphWriter this
         0: .line 46
            aload 0 /* this */
            ldc "java/lang/Class"
            putfield sun.jvm.hotspot.utilities.AbstractHeapGraphWriter.javaLangClass:Ljava/lang/String;
         1: .line 47
            aload 0 /* this */
            ldc "java/lang/String"
            putfield sun.jvm.hotspot.utilities.AbstractHeapGraphWriter.javaLangString:Ljava/lang/String;
         2: .line 48
            aload 0 /* this */
            ldc "java/lang/Thread"
            putfield sun.jvm.hotspot.utilities.AbstractHeapGraphWriter.javaLangThread:Ljava/lang/String;
         3: .line 49
            invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
            invokevirtual sun.jvm.hotspot.runtime.VM.getObjectHeap:()Lsun/jvm/hotspot/oops/ObjectHeap;
            astore 1 /* heap */
        start local 1 // sun.jvm.hotspot.oops.ObjectHeap heap
         4: .line 51
            aload 1 /* heap */
            new sun.jvm.hotspot.utilities.AbstractHeapGraphWriter$1
            dup
            aload 0 /* this */
            invokespecial sun.jvm.hotspot.utilities.AbstractHeapGraphWriter$1.<init>:(Lsun/jvm/hotspot/utilities/AbstractHeapGraphWriter;)V
            invokevirtual sun.jvm.hotspot.oops.ObjectHeap.iterate:(Lsun/jvm/hotspot/oops/HeapVisitor;)V
         5: .line 117
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.utilities.AbstractHeapGraphWriter.writeHeapRecordPrologue:()V
         6: .line 120
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.utilities.AbstractHeapGraphWriter.writeJavaThreads:()V
         7: .line 123
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.utilities.AbstractHeapGraphWriter.writeGlobalJNIHandles:()V
         8: .line 125
            goto 11
      StackMap locals: sun.jvm.hotspot.utilities.AbstractHeapGraphWriter sun.jvm.hotspot.oops.ObjectHeap
      StackMap stack: java.lang.RuntimeException
         9: astore 2 /* re */
        start local 2 // java.lang.RuntimeException re
        10: .line 126
            aload 0 /* this */
            aload 2 /* re */
            invokevirtual sun.jvm.hotspot.utilities.AbstractHeapGraphWriter.handleRuntimeException:(Ljava/lang/RuntimeException;)V
        end local 2 // java.lang.RuntimeException re
        11: .line 128
      StackMap locals:
      StackMap stack:
            return
        end local 1 // sun.jvm.hotspot.oops.ObjectHeap heap
        end local 0 // sun.jvm.hotspot.utilities.AbstractHeapGraphWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lsun/jvm/hotspot/utilities/AbstractHeapGraphWriter;
            4   12     1  heap  Lsun/jvm/hotspot/oops/ObjectHeap;
           10   11     2    re  Ljava/lang/RuntimeException;
      Exception table:
        from    to  target  type
           4     8       9  Class java.lang.RuntimeException
    Exceptions:
      throws java.io.IOException

  protected void writeJavaThreads();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // sun.jvm.hotspot.utilities.AbstractHeapGraphWriter this
         0: .line 131
            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 1 /* threads */
        start local 1 // sun.jvm.hotspot.runtime.Threads threads
         1: .line 132
            aload 1 /* threads */
            invokevirtual sun.jvm.hotspot.runtime.Threads.first:()Lsun/jvm/hotspot/runtime/JavaThread;
            astore 2 /* jt */
        start local 2 // sun.jvm.hotspot.runtime.JavaThread jt
         2: .line 133
            iconst_1
            istore 3 /* index */
        start local 3 // int index
         3: .line 134
            goto 8
         4: .line 135
      StackMap locals: sun.jvm.hotspot.runtime.Threads sun.jvm.hotspot.runtime.JavaThread int
      StackMap stack:
            aload 2 /* jt */
            invokevirtual sun.jvm.hotspot.runtime.JavaThread.getThreadObj:()Lsun/jvm/hotspot/oops/Oop;
            ifnull 7
         5: .line 137
            aload 0 /* this */
            aload 2 /* jt */
            iload 3 /* index */
            invokevirtual sun.jvm.hotspot.utilities.AbstractHeapGraphWriter.writeJavaThread:(Lsun/jvm/hotspot/runtime/JavaThread;I)V
         6: .line 138
            iinc 3 /* index */ 1
         7: .line 140
      StackMap locals:
      StackMap stack:
            aload 2 /* jt */
            invokevirtual sun.jvm.hotspot.runtime.JavaThread.next:()Lsun/jvm/hotspot/runtime/JavaThread;
            astore 2 /* jt */
         8: .line 134
      StackMap locals:
      StackMap stack:
            aload 2 /* jt */
            ifnonnull 4
         9: .line 142
            return
        end local 3 // int index
        end local 2 // sun.jvm.hotspot.runtime.JavaThread jt
        end local 1 // sun.jvm.hotspot.runtime.Threads threads
        end local 0 // sun.jvm.hotspot.utilities.AbstractHeapGraphWriter this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Lsun/jvm/hotspot/utilities/AbstractHeapGraphWriter;
            1   10     1  threads  Lsun/jvm/hotspot/runtime/Threads;
            2   10     2       jt  Lsun/jvm/hotspot/runtime/JavaThread;
            3   10     3    index  I
    Exceptions:
      throws java.io.IOException

  protected void writeJavaThread(sun.jvm.hotspot.runtime.JavaThread, int);
    descriptor: (Lsun/jvm/hotspot/runtime/JavaThread;I)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=3, args_size=3
        start local 0 // sun.jvm.hotspot.utilities.AbstractHeapGraphWriter this
        start local 1 // sun.jvm.hotspot.runtime.JavaThread jt
        start local 2 // int index
         0: .line 146
            return
        end local 2 // int index
        end local 1 // sun.jvm.hotspot.runtime.JavaThread jt
        end local 0 // sun.jvm.hotspot.utilities.AbstractHeapGraphWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lsun/jvm/hotspot/utilities/AbstractHeapGraphWriter;
            0    1     1     jt  Lsun/jvm/hotspot/runtime/JavaThread;
            0    1     2  index  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      jt     
      index  

  protected void writeGlobalJNIHandles();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // sun.jvm.hotspot.utilities.AbstractHeapGraphWriter this
         0: .line 149
            invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
            invokevirtual sun.jvm.hotspot.runtime.VM.getJNIHandles:()Lsun/jvm/hotspot/runtime/JNIHandles;
            astore 1 /* handles */
        start local 1 // sun.jvm.hotspot.runtime.JNIHandles handles
         1: .line 150
            aload 1 /* handles */
            invokevirtual sun.jvm.hotspot.runtime.JNIHandles.globalHandles:()Lsun/jvm/hotspot/gc/shared/OopStorage;
            astore 2 /* blk */
        start local 2 // sun.jvm.hotspot.gc.shared.OopStorage blk
         2: .line 151
            aload 2 /* blk */
            ifnull 7
         3: .line 153
            aload 2 /* blk */
            new sun.jvm.hotspot.utilities.AbstractHeapGraphWriter$2
            dup
            aload 0 /* this */
            invokespecial sun.jvm.hotspot.utilities.AbstractHeapGraphWriter$2.<init>:(Lsun/jvm/hotspot/utilities/AbstractHeapGraphWriter;)V
            invokevirtual sun.jvm.hotspot.gc.shared.OopStorage.oopsDo:(Lsun/jvm/hotspot/runtime/AddressVisitor;)V
         4: .line 167
            goto 7
      StackMap locals: sun.jvm.hotspot.utilities.AbstractHeapGraphWriter sun.jvm.hotspot.runtime.JNIHandles sun.jvm.hotspot.gc.shared.OopStorage
      StackMap stack: java.lang.RuntimeException
         5: astore 3 /* re */
        start local 3 // java.lang.RuntimeException re
         6: .line 168
            aload 0 /* this */
            aload 3 /* re */
            invokevirtual sun.jvm.hotspot.utilities.AbstractHeapGraphWriter.handleRuntimeException:(Ljava/lang/RuntimeException;)V
        end local 3 // java.lang.RuntimeException re
         7: .line 171
      StackMap locals:
      StackMap stack:
            return
        end local 2 // sun.jvm.hotspot.gc.shared.OopStorage blk
        end local 1 // sun.jvm.hotspot.runtime.JNIHandles handles
        end local 0 // sun.jvm.hotspot.utilities.AbstractHeapGraphWriter this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lsun/jvm/hotspot/utilities/AbstractHeapGraphWriter;
            1    8     1  handles  Lsun/jvm/hotspot/runtime/JNIHandles;
            2    8     2      blk  Lsun/jvm/hotspot/gc/shared/OopStorage;
            6    7     3       re  Ljava/lang/RuntimeException;
      Exception table:
        from    to  target  type
           3     4       5  Class java.lang.RuntimeException
    Exceptions:
      throws java.io.IOException

  protected void writeGlobalJNIHandle(sun.jvm.hotspot.debugger.Address);
    descriptor: (Lsun/jvm/hotspot/debugger/Address;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // sun.jvm.hotspot.utilities.AbstractHeapGraphWriter this
        start local 1 // sun.jvm.hotspot.debugger.Address handleAddr
         0: .line 174
            return
        end local 1 // sun.jvm.hotspot.debugger.Address handleAddr
        end local 0 // sun.jvm.hotspot.utilities.AbstractHeapGraphWriter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lsun/jvm/hotspot/utilities/AbstractHeapGraphWriter;
            0    1     1  handleAddr  Lsun/jvm/hotspot/debugger/Address;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
            Name  Flags
      handleAddr  

  protected void writeHeapHeader();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // sun.jvm.hotspot.utilities.AbstractHeapGraphWriter this
         0: .line 177
            return
        end local 0 // sun.jvm.hotspot.utilities.AbstractHeapGraphWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/jvm/hotspot/utilities/AbstractHeapGraphWriter;
    Exceptions:
      throws java.io.IOException

  protected void writeInternalObject(sun.jvm.hotspot.oops.Oop);
    descriptor: (Lsun/jvm/hotspot/oops/Oop;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // sun.jvm.hotspot.utilities.AbstractHeapGraphWriter this
        start local 1 // sun.jvm.hotspot.oops.Oop oop
         0: .line 181
            return
        end local 1 // sun.jvm.hotspot.oops.Oop oop
        end local 0 // sun.jvm.hotspot.utilities.AbstractHeapGraphWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/jvm/hotspot/utilities/AbstractHeapGraphWriter;
            0    1     1   oop  Lsun/jvm/hotspot/oops/Oop;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      oop   

  protected void writePrimitiveArray(sun.jvm.hotspot.oops.TypeArray);
    descriptor: (Lsun/jvm/hotspot/oops/TypeArray;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.jvm.hotspot.utilities.AbstractHeapGraphWriter this
        start local 1 // sun.jvm.hotspot.oops.TypeArray array
         0: .line 185
            aload 0 /* this */
            aload 1 /* array */
            invokevirtual sun.jvm.hotspot.utilities.AbstractHeapGraphWriter.writeObject:(Lsun/jvm/hotspot/oops/Oop;)V
         1: .line 186
            return
        end local 1 // sun.jvm.hotspot.oops.TypeArray array
        end local 0 // sun.jvm.hotspot.utilities.AbstractHeapGraphWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lsun/jvm/hotspot/utilities/AbstractHeapGraphWriter;
            0    2     1  array  Lsun/jvm/hotspot/oops/TypeArray;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      array  

  protected void writeObjectArray(sun.jvm.hotspot.oops.ObjArray);
    descriptor: (Lsun/jvm/hotspot/oops/ObjArray;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.jvm.hotspot.utilities.AbstractHeapGraphWriter this
        start local 1 // sun.jvm.hotspot.oops.ObjArray array
         0: .line 190
            aload 0 /* this */
            aload 1 /* array */
            invokevirtual sun.jvm.hotspot.utilities.AbstractHeapGraphWriter.writeObject:(Lsun/jvm/hotspot/oops/Oop;)V
         1: .line 191
            return
        end local 1 // sun.jvm.hotspot.oops.ObjArray array
        end local 0 // sun.jvm.hotspot.utilities.AbstractHeapGraphWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lsun/jvm/hotspot/utilities/AbstractHeapGraphWriter;
            0    2     1  array  Lsun/jvm/hotspot/oops/ObjArray;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      array  

  protected void writeInstance(sun.jvm.hotspot.oops.Instance);
    descriptor: (Lsun/jvm/hotspot/oops/Instance;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.jvm.hotspot.utilities.AbstractHeapGraphWriter this
        start local 1 // sun.jvm.hotspot.oops.Instance instance
         0: .line 194
            aload 0 /* this */
            aload 1 /* instance */
            invokevirtual sun.jvm.hotspot.utilities.AbstractHeapGraphWriter.writeObject:(Lsun/jvm/hotspot/oops/Oop;)V
         1: .line 195
            return
        end local 1 // sun.jvm.hotspot.oops.Instance instance
        end local 0 // sun.jvm.hotspot.utilities.AbstractHeapGraphWriter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lsun/jvm/hotspot/utilities/AbstractHeapGraphWriter;
            0    2     1  instance  Lsun/jvm/hotspot/oops/Instance;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      instance  

  protected void writeString(sun.jvm.hotspot.oops.Instance);
    descriptor: (Lsun/jvm/hotspot/oops/Instance;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.jvm.hotspot.utilities.AbstractHeapGraphWriter this
        start local 1 // sun.jvm.hotspot.oops.Instance instance
         0: .line 198
            aload 0 /* this */
            aload 1 /* instance */
            invokevirtual sun.jvm.hotspot.utilities.AbstractHeapGraphWriter.writeInstance:(Lsun/jvm/hotspot/oops/Instance;)V
         1: .line 199
            return
        end local 1 // sun.jvm.hotspot.oops.Instance instance
        end local 0 // sun.jvm.hotspot.utilities.AbstractHeapGraphWriter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lsun/jvm/hotspot/utilities/AbstractHeapGraphWriter;
            0    2     1  instance  Lsun/jvm/hotspot/oops/Instance;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      instance  

  protected void writeClass(sun.jvm.hotspot.oops.Instance);
    descriptor: (Lsun/jvm/hotspot/oops/Instance;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.jvm.hotspot.utilities.AbstractHeapGraphWriter this
        start local 1 // sun.jvm.hotspot.oops.Instance instance
         0: .line 202
            aload 0 /* this */
            aload 1 /* instance */
            invokevirtual sun.jvm.hotspot.utilities.AbstractHeapGraphWriter.writeInstance:(Lsun/jvm/hotspot/oops/Instance;)V
         1: .line 203
            return
        end local 1 // sun.jvm.hotspot.oops.Instance instance
        end local 0 // sun.jvm.hotspot.utilities.AbstractHeapGraphWriter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lsun/jvm/hotspot/utilities/AbstractHeapGraphWriter;
            0    2     1  instance  Lsun/jvm/hotspot/oops/Instance;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      instance  

  protected void writeThread(sun.jvm.hotspot.oops.Instance);
    descriptor: (Lsun/jvm/hotspot/oops/Instance;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.jvm.hotspot.utilities.AbstractHeapGraphWriter this
        start local 1 // sun.jvm.hotspot.oops.Instance instance
         0: .line 206
            aload 0 /* this */
            aload 1 /* instance */
            invokevirtual sun.jvm.hotspot.utilities.AbstractHeapGraphWriter.writeInstance:(Lsun/jvm/hotspot/oops/Instance;)V
         1: .line 207
            return
        end local 1 // sun.jvm.hotspot.oops.Instance instance
        end local 0 // sun.jvm.hotspot.utilities.AbstractHeapGraphWriter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lsun/jvm/hotspot/utilities/AbstractHeapGraphWriter;
            0    2     1  instance  Lsun/jvm/hotspot/oops/Instance;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      instance  

  protected void writeObject(sun.jvm.hotspot.oops.Oop);
    descriptor: (Lsun/jvm/hotspot/oops/Oop;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.jvm.hotspot.utilities.AbstractHeapGraphWriter this
        start local 1 // sun.jvm.hotspot.oops.Oop oop
         0: .line 210
            aload 0 /* this */
            aload 1 /* oop */
            invokevirtual sun.jvm.hotspot.utilities.AbstractHeapGraphWriter.writeObjectHeader:(Lsun/jvm/hotspot/oops/Oop;)V
         1: .line 211
            aload 0 /* this */
            aload 1 /* oop */
            invokevirtual sun.jvm.hotspot.utilities.AbstractHeapGraphWriter.writeObjectFields:(Lsun/jvm/hotspot/oops/Oop;)V
         2: .line 212
            aload 0 /* this */
            aload 1 /* oop */
            invokevirtual sun.jvm.hotspot.utilities.AbstractHeapGraphWriter.writeObjectFooter:(Lsun/jvm/hotspot/oops/Oop;)V
         3: .line 213
            return
        end local 1 // sun.jvm.hotspot.oops.Oop oop
        end local 0 // sun.jvm.hotspot.utilities.AbstractHeapGraphWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/jvm/hotspot/utilities/AbstractHeapGraphWriter;
            0    4     1   oop  Lsun/jvm/hotspot/oops/Oop;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      oop   

  protected void writeObjectHeader(sun.jvm.hotspot.oops.Oop);
    descriptor: (Lsun/jvm/hotspot/oops/Oop;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // sun.jvm.hotspot.utilities.AbstractHeapGraphWriter this
        start local 1 // sun.jvm.hotspot.oops.Oop oop
         0: .line 216
            return
        end local 1 // sun.jvm.hotspot.oops.Oop oop
        end local 0 // sun.jvm.hotspot.utilities.AbstractHeapGraphWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/jvm/hotspot/utilities/AbstractHeapGraphWriter;
            0    1     1   oop  Lsun/jvm/hotspot/oops/Oop;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      oop   

  protected void writeObjectFields(sun.jvm.hotspot.oops.Oop);
    descriptor: (Lsun/jvm/hotspot/oops/Oop;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // sun.jvm.hotspot.utilities.AbstractHeapGraphWriter this
        start local 1 // sun.jvm.hotspot.oops.Oop oop
         0: .line 221
            aload 1 /* oop */
            new sun.jvm.hotspot.utilities.AbstractHeapGraphWriter$3
            dup
            aload 0 /* this */
            aload 1 /* oop */
            invokespecial sun.jvm.hotspot.utilities.AbstractHeapGraphWriter$3.<init>:(Lsun/jvm/hotspot/utilities/AbstractHeapGraphWriter;Lsun/jvm/hotspot/oops/Oop;)V
         1: .line 293
            iconst_0
         2: .line 221
            invokevirtual sun.jvm.hotspot.oops.Oop.iterate:(Lsun/jvm/hotspot/oops/OopVisitor;Z)V
         3: .line 294
            goto 6
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
         4: astore 2 /* re */
        start local 2 // java.lang.RuntimeException re
         5: .line 295
            aload 0 /* this */
            aload 2 /* re */
            invokevirtual sun.jvm.hotspot.utilities.AbstractHeapGraphWriter.handleRuntimeException:(Ljava/lang/RuntimeException;)V
        end local 2 // java.lang.RuntimeException re
         6: .line 297
      StackMap locals:
      StackMap stack:
            return
        end local 1 // sun.jvm.hotspot.oops.Oop oop
        end local 0 // sun.jvm.hotspot.utilities.AbstractHeapGraphWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lsun/jvm/hotspot/utilities/AbstractHeapGraphWriter;
            0    7     1   oop  Lsun/jvm/hotspot/oops/Oop;
            5    6     2    re  Ljava/lang/RuntimeException;
      Exception table:
        from    to  target  type
           0     3       4  Class java.lang.RuntimeException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      oop   final

  protected void writeObjectFields(sun.jvm.hotspot.oops.InstanceKlass);
    descriptor: (Lsun/jvm/hotspot/oops/InstanceKlass;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // sun.jvm.hotspot.utilities.AbstractHeapGraphWriter this
        start local 1 // sun.jvm.hotspot.oops.InstanceKlass oop
         0: .line 302
            aload 1 /* oop */
            new sun.jvm.hotspot.utilities.AbstractHeapGraphWriter$4
            dup
            aload 0 /* this */
            invokespecial sun.jvm.hotspot.utilities.AbstractHeapGraphWriter$4.<init>:(Lsun/jvm/hotspot/utilities/AbstractHeapGraphWriter;)V
            invokevirtual sun.jvm.hotspot.oops.InstanceKlass.iterateStaticFields:(Lsun/jvm/hotspot/oops/OopVisitor;)V
         1: .line 375
            goto 4
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
         2: astore 2 /* re */
        start local 2 // java.lang.RuntimeException re
         3: .line 376
            aload 0 /* this */
            aload 2 /* re */
            invokevirtual sun.jvm.hotspot.utilities.AbstractHeapGraphWriter.handleRuntimeException:(Ljava/lang/RuntimeException;)V
        end local 2 // java.lang.RuntimeException re
         4: .line 378
      StackMap locals:
      StackMap stack:
            return
        end local 1 // sun.jvm.hotspot.oops.InstanceKlass oop
        end local 0 // sun.jvm.hotspot.utilities.AbstractHeapGraphWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lsun/jvm/hotspot/utilities/AbstractHeapGraphWriter;
            0    5     1   oop  Lsun/jvm/hotspot/oops/InstanceKlass;
            3    4     2    re  Ljava/lang/RuntimeException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.RuntimeException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      oop   final

  protected void writeReferenceField(sun.jvm.hotspot.oops.Oop, sun.jvm.hotspot.oops.OopField);
    descriptor: (Lsun/jvm/hotspot/oops/Oop;Lsun/jvm/hotspot/oops/OopField;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=3, args_size=3
        start local 0 // sun.jvm.hotspot.utilities.AbstractHeapGraphWriter this
        start local 1 // sun.jvm.hotspot.oops.Oop oop
        start local 2 // sun.jvm.hotspot.oops.OopField field
         0: .line 383
            return
        end local 2 // sun.jvm.hotspot.oops.OopField field
        end local 1 // sun.jvm.hotspot.oops.Oop oop
        end local 0 // sun.jvm.hotspot.utilities.AbstractHeapGraphWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lsun/jvm/hotspot/utilities/AbstractHeapGraphWriter;
            0    1     1    oop  Lsun/jvm/hotspot/oops/Oop;
            0    1     2  field  Lsun/jvm/hotspot/oops/OopField;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      oop    
      field  

  protected void writeByteField(sun.jvm.hotspot.oops.Oop, sun.jvm.hotspot.oops.ByteField);
    descriptor: (Lsun/jvm/hotspot/oops/Oop;Lsun/jvm/hotspot/oops/ByteField;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=3, args_size=3
        start local 0 // sun.jvm.hotspot.utilities.AbstractHeapGraphWriter this
        start local 1 // sun.jvm.hotspot.oops.Oop oop
        start local 2 // sun.jvm.hotspot.oops.ByteField field
         0: .line 387
            return
        end local 2 // sun.jvm.hotspot.oops.ByteField field
        end local 1 // sun.jvm.hotspot.oops.Oop oop
        end local 0 // sun.jvm.hotspot.utilities.AbstractHeapGraphWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lsun/jvm/hotspot/utilities/AbstractHeapGraphWriter;
            0    1     1    oop  Lsun/jvm/hotspot/oops/Oop;
            0    1     2  field  Lsun/jvm/hotspot/oops/ByteField;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      oop    
      field  

  protected void writeCharField(sun.jvm.hotspot.oops.Oop, sun.jvm.hotspot.oops.CharField);
    descriptor: (Lsun/jvm/hotspot/oops/Oop;Lsun/jvm/hotspot/oops/CharField;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=3, args_size=3
        start local 0 // sun.jvm.hotspot.utilities.AbstractHeapGraphWriter this
        start local 1 // sun.jvm.hotspot.oops.Oop oop
        start local 2 // sun.jvm.hotspot.oops.CharField field
         0: .line 391
            return
        end local 2 // sun.jvm.hotspot.oops.CharField field
        end local 1 // sun.jvm.hotspot.oops.Oop oop
        end local 0 // sun.jvm.hotspot.utilities.AbstractHeapGraphWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lsun/jvm/hotspot/utilities/AbstractHeapGraphWriter;
            0    1     1    oop  Lsun/jvm/hotspot/oops/Oop;
            0    1     2  field  Lsun/jvm/hotspot/oops/CharField;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      oop    
      field  

  protected void writeBooleanField(sun.jvm.hotspot.oops.Oop, sun.jvm.hotspot.oops.BooleanField);
    descriptor: (Lsun/jvm/hotspot/oops/Oop;Lsun/jvm/hotspot/oops/BooleanField;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=3, args_size=3
        start local 0 // sun.jvm.hotspot.utilities.AbstractHeapGraphWriter this
        start local 1 // sun.jvm.hotspot.oops.Oop oop
        start local 2 // sun.jvm.hotspot.oops.BooleanField field
         0: .line 395
            return
        end local 2 // sun.jvm.hotspot.oops.BooleanField field
        end local 1 // sun.jvm.hotspot.oops.Oop oop
        end local 0 // sun.jvm.hotspot.utilities.AbstractHeapGraphWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lsun/jvm/hotspot/utilities/AbstractHeapGraphWriter;
            0    1     1    oop  Lsun/jvm/hotspot/oops/Oop;
            0    1     2  field  Lsun/jvm/hotspot/oops/BooleanField;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      oop    
      field  

  protected void writeShortField(sun.jvm.hotspot.oops.Oop, sun.jvm.hotspot.oops.ShortField);
    descriptor: (Lsun/jvm/hotspot/oops/Oop;Lsun/jvm/hotspot/oops/ShortField;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=3, args_size=3
        start local 0 // sun.jvm.hotspot.utilities.AbstractHeapGraphWriter this
        start local 1 // sun.jvm.hotspot.oops.Oop oop
        start local 2 // sun.jvm.hotspot.oops.ShortField field
         0: .line 399
            return
        end local 2 // sun.jvm.hotspot.oops.ShortField field
        end local 1 // sun.jvm.hotspot.oops.Oop oop
        end local 0 // sun.jvm.hotspot.utilities.AbstractHeapGraphWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lsun/jvm/hotspot/utilities/AbstractHeapGraphWriter;
            0    1     1    oop  Lsun/jvm/hotspot/oops/Oop;
            0    1     2  field  Lsun/jvm/hotspot/oops/ShortField;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      oop    
      field  

  protected void writeIntField(sun.jvm.hotspot.oops.Oop, sun.jvm.hotspot.oops.IntField);
    descriptor: (Lsun/jvm/hotspot/oops/Oop;Lsun/jvm/hotspot/oops/IntField;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=3, args_size=3
        start local 0 // sun.jvm.hotspot.utilities.AbstractHeapGraphWriter this
        start local 1 // sun.jvm.hotspot.oops.Oop oop
        start local 2 // sun.jvm.hotspot.oops.IntField field
         0: .line 403
            return
        end local 2 // sun.jvm.hotspot.oops.IntField field
        end local 1 // sun.jvm.hotspot.oops.Oop oop
        end local 0 // sun.jvm.hotspot.utilities.AbstractHeapGraphWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lsun/jvm/hotspot/utilities/AbstractHeapGraphWriter;
            0    1     1    oop  Lsun/jvm/hotspot/oops/Oop;
            0    1     2  field  Lsun/jvm/hotspot/oops/IntField;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      oop    
      field  

  protected void writeLongField(sun.jvm.hotspot.oops.Oop, sun.jvm.hotspot.oops.LongField);
    descriptor: (Lsun/jvm/hotspot/oops/Oop;Lsun/jvm/hotspot/oops/LongField;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=3, args_size=3
        start local 0 // sun.jvm.hotspot.utilities.AbstractHeapGraphWriter this
        start local 1 // sun.jvm.hotspot.oops.Oop oop
        start local 2 // sun.jvm.hotspot.oops.LongField field
         0: .line 407
            return
        end local 2 // sun.jvm.hotspot.oops.LongField field
        end local 1 // sun.jvm.hotspot.oops.Oop oop
        end local 0 // sun.jvm.hotspot.utilities.AbstractHeapGraphWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lsun/jvm/hotspot/utilities/AbstractHeapGraphWriter;
            0    1     1    oop  Lsun/jvm/hotspot/oops/Oop;
            0    1     2  field  Lsun/jvm/hotspot/oops/LongField;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      oop    
      field  

  protected void writeFloatField(sun.jvm.hotspot.oops.Oop, sun.jvm.hotspot.oops.FloatField);
    descriptor: (Lsun/jvm/hotspot/oops/Oop;Lsun/jvm/hotspot/oops/FloatField;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=3, args_size=3
        start local 0 // sun.jvm.hotspot.utilities.AbstractHeapGraphWriter this
        start local 1 // sun.jvm.hotspot.oops.Oop oop
        start local 2 // sun.jvm.hotspot.oops.FloatField field
         0: .line 411
            return
        end local 2 // sun.jvm.hotspot.oops.FloatField field
        end local 1 // sun.jvm.hotspot.oops.Oop oop
        end local 0 // sun.jvm.hotspot.utilities.AbstractHeapGraphWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lsun/jvm/hotspot/utilities/AbstractHeapGraphWriter;
            0    1     1    oop  Lsun/jvm/hotspot/oops/Oop;
            0    1     2  field  Lsun/jvm/hotspot/oops/FloatField;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      oop    
      field  

  protected void writeDoubleField(sun.jvm.hotspot.oops.Oop, sun.jvm.hotspot.oops.DoubleField);
    descriptor: (Lsun/jvm/hotspot/oops/Oop;Lsun/jvm/hotspot/oops/DoubleField;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=3, args_size=3
        start local 0 // sun.jvm.hotspot.utilities.AbstractHeapGraphWriter this
        start local 1 // sun.jvm.hotspot.oops.Oop oop
        start local 2 // sun.jvm.hotspot.oops.DoubleField field
         0: .line 415
            return
        end local 2 // sun.jvm.hotspot.oops.DoubleField field
        end local 1 // sun.jvm.hotspot.oops.Oop oop
        end local 0 // sun.jvm.hotspot.utilities.AbstractHeapGraphWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lsun/jvm/hotspot/utilities/AbstractHeapGraphWriter;
            0    1     1    oop  Lsun/jvm/hotspot/oops/Oop;
            0    1     2  field  Lsun/jvm/hotspot/oops/DoubleField;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      oop    
      field  

  protected void writeObjectFooter(sun.jvm.hotspot.oops.Oop);
    descriptor: (Lsun/jvm/hotspot/oops/Oop;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // sun.jvm.hotspot.utilities.AbstractHeapGraphWriter this
        start local 1 // sun.jvm.hotspot.oops.Oop oop
         0: .line 418
            return
        end local 1 // sun.jvm.hotspot.oops.Oop oop
        end local 0 // sun.jvm.hotspot.utilities.AbstractHeapGraphWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/jvm/hotspot/utilities/AbstractHeapGraphWriter;
            0    1     1   oop  Lsun/jvm/hotspot/oops/Oop;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      oop   

  protected void writeHeapFooter();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // sun.jvm.hotspot.utilities.AbstractHeapGraphWriter this
         0: .line 421
            return
        end local 0 // sun.jvm.hotspot.utilities.AbstractHeapGraphWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/jvm/hotspot/utilities/AbstractHeapGraphWriter;
    Exceptions:
      throws java.io.IOException

  protected void writeHeapRecordPrologue();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // sun.jvm.hotspot.utilities.AbstractHeapGraphWriter this
         0: .line 424
            return
        end local 0 // sun.jvm.hotspot.utilities.AbstractHeapGraphWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/jvm/hotspot/utilities/AbstractHeapGraphWriter;
    Exceptions:
      throws java.io.IOException

  protected void writeHeapRecordEpilogue();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // sun.jvm.hotspot.utilities.AbstractHeapGraphWriter this
         0: .line 427
            return
        end local 0 // sun.jvm.hotspot.utilities.AbstractHeapGraphWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/jvm/hotspot/utilities/AbstractHeapGraphWriter;
    Exceptions:
      throws java.io.IOException

  protected void handleRuntimeException(java.lang.RuntimeException);
    descriptor: (Ljava/lang/RuntimeException;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=3, args_size=2
        start local 0 // sun.jvm.hotspot.utilities.AbstractHeapGraphWriter this
        start local 1 // java.lang.RuntimeException re
         0: .line 437
            aload 1 /* re */
            invokevirtual java.lang.RuntimeException.getCause:()Ljava/lang/Throwable;
            astore 2 /* cause */
        start local 2 // java.lang.Throwable cause
         1: .line 438
            aload 2 /* cause */
            ifnull 3
            aload 2 /* cause */
            instanceof java.io.IOException
            ifeq 3
         2: .line 439
            aload 2 /* cause */
            checkcast java.io.IOException
            athrow
         3: .line 442
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 1 /* re */
            athrow
        end local 2 // java.lang.Throwable cause
        end local 1 // java.lang.RuntimeException re
        end local 0 // sun.jvm.hotspot.utilities.AbstractHeapGraphWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lsun/jvm/hotspot/utilities/AbstractHeapGraphWriter;
            0    4     1     re  Ljava/lang/RuntimeException;
            1    4     2  cause  Ljava/lang/Throwable;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      re    

  protected boolean isJavaVisible(sun.jvm.hotspot.oops.Oop);
    descriptor: (Lsun/jvm/hotspot/oops/Oop;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=4, args_size=2
        start local 0 // sun.jvm.hotspot.utilities.AbstractHeapGraphWriter this
        start local 1 // sun.jvm.hotspot.oops.Oop oop
         0: .line 448
            aload 1 /* oop */
            instanceof sun.jvm.hotspot.oops.Instance
            ifne 1
            aload 1 /* oop */
            instanceof sun.jvm.hotspot.oops.TypeArray
            ifeq 2
         1: .line 449
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         2: .line 450
      StackMap locals:
      StackMap stack:
            aload 1 /* oop */
            instanceof sun.jvm.hotspot.oops.ObjArray
            ifeq 9
         3: .line 451
            aload 1 /* oop */
            invokevirtual sun.jvm.hotspot.oops.Oop.getKlass:()Lsun/jvm/hotspot/oops/Klass;
            checkcast sun.jvm.hotspot.oops.ObjArrayKlass
            astore 2 /* oak */
        start local 2 // sun.jvm.hotspot.oops.ObjArrayKlass oak
         4: .line 452
            aload 2 /* oak */
            invokevirtual sun.jvm.hotspot.oops.ObjArrayKlass.getBottomKlass:()Lsun/jvm/hotspot/oops/Klass;
            astore 3 /* bottomKlass */
        start local 3 // sun.jvm.hotspot.oops.Klass bottomKlass
         5: .line 453
            aload 3 /* bottomKlass */
            instanceof sun.jvm.hotspot.oops.InstanceKlass
            ifne 8
         6: .line 454
            aload 3 /* bottomKlass */
            instanceof sun.jvm.hotspot.oops.TypeArrayKlass
            ifne 8
         7: .line 453
            iconst_0
            ireturn
      StackMap locals: sun.jvm.hotspot.oops.ObjArrayKlass sun.jvm.hotspot.oops.Klass
      StackMap stack:
         8: iconst_1
            ireturn
        end local 3 // sun.jvm.hotspot.oops.Klass bottomKlass
        end local 2 // sun.jvm.hotspot.oops.ObjArrayKlass oak
         9: .line 456
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // sun.jvm.hotspot.oops.Oop oop
        end local 0 // sun.jvm.hotspot.utilities.AbstractHeapGraphWriter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   10     0         this  Lsun/jvm/hotspot/utilities/AbstractHeapGraphWriter;
            0   10     1          oop  Lsun/jvm/hotspot/oops/Oop;
            4    9     2          oak  Lsun/jvm/hotspot/oops/ObjArrayKlass;
            5    9     3  bottomKlass  Lsun/jvm/hotspot/oops/Klass;
    MethodParameters:
      Name  Flags
      oop   
}
SourceFile: "AbstractHeapGraphWriter.java"
NestMembers:
  sun.jvm.hotspot.utilities.AbstractHeapGraphWriter$1  sun.jvm.hotspot.utilities.AbstractHeapGraphWriter$2  sun.jvm.hotspot.utilities.AbstractHeapGraphWriter$3  sun.jvm.hotspot.utilities.AbstractHeapGraphWriter$4
InnerClasses:
  sun.jvm.hotspot.utilities.AbstractHeapGraphWriter$1
  sun.jvm.hotspot.utilities.AbstractHeapGraphWriter$2
  sun.jvm.hotspot.utilities.AbstractHeapGraphWriter$3
  sun.jvm.hotspot.utilities.AbstractHeapGraphWriter$4