public class sun.jvm.hotspot.utilities.HeapGXLWriter 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.HeapGXLWriter
  super_class: sun.jvm.hotspot.utilities.AbstractHeapGraphWriter
{
  private static final java.lang.String ENCODING;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "UTF-8"

  private java.util.List refFields;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE

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

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

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

  public void write(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=2, args_size=2
        start local 0 // sun.jvm.hotspot.utilities.HeapGXLWriter this
        start local 1 // java.lang.String fileName
         0: .line 74
            aload 0 /* this */
            new java.io.PrintWriter
            dup
            new java.io.BufferedWriter
            dup
            new java.io.FileWriter
            dup
            aload 1 /* fileName */
            invokespecial java.io.FileWriter.<init>:(Ljava/lang/String;)V
            invokespecial java.io.BufferedWriter.<init>:(Ljava/io/Writer;)V
            invokespecial java.io.PrintWriter.<init>:(Ljava/io/Writer;)V
            putfield sun.jvm.hotspot.utilities.HeapGXLWriter.out:Ljava/io/PrintWriter;
         1: .line 75
            aload 0 /* this */
            invokespecial sun.jvm.hotspot.utilities.AbstractHeapGraphWriter.write:()V
         2: .line 76
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapGXLWriter.out:Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.checkError:()Z
            ifeq 4
         3: .line 77
            new java.io.IOException
            dup
            invokespecial java.io.IOException.<init>:()V
            athrow
         4: .line 79
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapGXLWriter.out:Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.flush:()V
         5: .line 80
            return
        end local 1 // java.lang.String fileName
        end local 0 // sun.jvm.hotspot.utilities.HeapGXLWriter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lsun/jvm/hotspot/utilities/HeapGXLWriter;
            0    6     1  fileName  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      fileName  

  protected void writeHeapHeader();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // sun.jvm.hotspot.utilities.HeapGXLWriter this
         0: .line 84
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapGXLWriter.out:Ljava/io/PrintWriter;
            ldc "<?xml version='1.0' encoding='"
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
         1: .line 85
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapGXLWriter.out:Ljava/io/PrintWriter;
            ldc "UTF-8"
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
         2: .line 86
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapGXLWriter.out:Ljava/io/PrintWriter;
            ldc "'?>"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         3: .line 88
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapGXLWriter.out:Ljava/io/PrintWriter;
            ldc "<gxl>"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         4: .line 89
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapGXLWriter.out:Ljava/io/PrintWriter;
            ldc "<graph id='JavaHeap'>"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         5: .line 92
            aload 0 /* this */
            ldc "creation-date"
            ldc "string"
            new java.util.Date
            dup
            invokespecial java.util.Date.<init>:()V
            invokevirtual java.util.Date.toString:()Ljava/lang/String;
            invokevirtual sun.jvm.hotspot.utilities.HeapGXLWriter.writeAttribute:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         6: .line 95
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.utilities.HeapGXLWriter.writeVMInfo:()V
         7: .line 98
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapGXLWriter.out:Ljava/io/PrintWriter;
            ldc "<node id='"
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
         8: .line 99
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapGXLWriter.out:Ljava/io/PrintWriter;
            aconst_null
            invokestatic sun.jvm.hotspot.utilities.HeapGXLWriter.getID:(Lsun/jvm/hotspot/oops/Oop;)Ljava/lang/String;
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
         9: .line 100
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapGXLWriter.out:Ljava/io/PrintWriter;
            ldc "'/>"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        10: .line 101
            return
        end local 0 // sun.jvm.hotspot.utilities.HeapGXLWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lsun/jvm/hotspot/utilities/HeapGXLWriter;
    Exceptions:
      throws java.io.IOException

  protected void writeObjectHeader(sun.jvm.hotspot.oops.Oop);
    descriptor: (Lsun/jvm/hotspot/oops/Oop;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // sun.jvm.hotspot.utilities.HeapGXLWriter this
        start local 1 // sun.jvm.hotspot.oops.Oop oop
         0: .line 104
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield sun.jvm.hotspot.utilities.HeapGXLWriter.refFields:Ljava/util/List;
         1: .line 105
            aload 0 /* this */
            aload 1 /* oop */
            invokevirtual sun.jvm.hotspot.oops.Oop.isArray:()Z
            putfield sun.jvm.hotspot.utilities.HeapGXLWriter.isArray:Z
         2: .line 109
            aload 0 /* this */
            aload 1 /* oop */
            aload 1 /* oop */
            invokevirtual sun.jvm.hotspot.oops.Oop.getKlass:()Lsun/jvm/hotspot/oops/Klass;
            invokevirtual sun.jvm.hotspot.oops.Klass.getJavaMirror:()Lsun/jvm/hotspot/oops/Instance;
            ldc "instanceof"
            invokevirtual sun.jvm.hotspot.utilities.HeapGXLWriter.writeEdge:(Lsun/jvm/hotspot/oops/Oop;Lsun/jvm/hotspot/oops/Oop;Ljava/lang/String;)V
         3: .line 111
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapGXLWriter.out:Ljava/io/PrintWriter;
            ldc "<node id='"
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
         4: .line 112
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapGXLWriter.out:Ljava/io/PrintWriter;
            aload 1 /* oop */
            invokestatic sun.jvm.hotspot.utilities.HeapGXLWriter.getID:(Lsun/jvm/hotspot/oops/Oop;)Ljava/lang/String;
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
         5: .line 113
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapGXLWriter.out:Ljava/io/PrintWriter;
            ldc "'>"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         6: .line 114
            return
        end local 1 // sun.jvm.hotspot.oops.Oop oop
        end local 0 // sun.jvm.hotspot.utilities.HeapGXLWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lsun/jvm/hotspot/utilities/HeapGXLWriter;
            0    7     1   oop  Lsun/jvm/hotspot/oops/Oop;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      oop   

  protected void writeObjectFooter(sun.jvm.hotspot.oops.Oop);
    descriptor: (Lsun/jvm/hotspot/oops/Oop;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // sun.jvm.hotspot.utilities.HeapGXLWriter this
        start local 1 // sun.jvm.hotspot.oops.Oop oop
         0: .line 117
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapGXLWriter.out:Ljava/io/PrintWriter;
            ldc "</node>"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         1: .line 120
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapGXLWriter.refFields:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 2 /* itr */
        start local 2 // java.util.Iterator itr
         2: goto 11
         3: .line 121
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 2 /* itr */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.jvm.hotspot.oops.OopField
            astore 3 /* field */
        start local 3 // sun.jvm.hotspot.oops.OopField field
         4: .line 122
            aload 3 /* field */
            aload 1 /* oop */
            invokevirtual sun.jvm.hotspot.oops.OopField.getValue:(Lsun/jvm/hotspot/oops/Oop;)Lsun/jvm/hotspot/oops/Oop;
            astore 4 /* ref */
        start local 4 // sun.jvm.hotspot.oops.Oop ref
         5: .line 124
            aload 3 /* field */
            invokevirtual sun.jvm.hotspot.oops.OopField.getID:()Lsun/jvm/hotspot/oops/FieldIdentifier;
            invokevirtual sun.jvm.hotspot.oops.FieldIdentifier.getName:()Ljava/lang/String;
            astore 5 /* name */
        start local 5 // java.lang.String name
         6: .line 125
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapGXLWriter.isArray:Z
            ifeq 9
         7: .line 127
            new java.lang.StringBuilder
            dup
            ldc "element"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 5 /* name */
         8: .line 128
            goto 10
         9: .line 129
      StackMap locals: sun.jvm.hotspot.oops.OopField sun.jvm.hotspot.oops.Oop java.lang.String
      StackMap stack:
            aload 5 /* name */
            invokestatic sun.jvm.hotspot.utilities.HeapGXLWriter.identifierToXMLName:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* name */
        10: .line 131
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* oop */
            aload 4 /* ref */
            aload 5 /* name */
            invokevirtual sun.jvm.hotspot.utilities.HeapGXLWriter.writeEdge:(Lsun/jvm/hotspot/oops/Oop;Lsun/jvm/hotspot/oops/Oop;Ljava/lang/String;)V
        end local 5 // java.lang.String name
        end local 4 // sun.jvm.hotspot.oops.Oop ref
        end local 3 // sun.jvm.hotspot.oops.OopField field
        11: .line 120
      StackMap locals:
      StackMap stack:
            aload 2 /* itr */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        end local 2 // java.util.Iterator itr
        12: .line 133
            aload 0 /* this */
            aconst_null
            putfield sun.jvm.hotspot.utilities.HeapGXLWriter.refFields:Ljava/util/List;
        13: .line 134
            return
        end local 1 // sun.jvm.hotspot.oops.Oop oop
        end local 0 // sun.jvm.hotspot.utilities.HeapGXLWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   14     0   this  Lsun/jvm/hotspot/utilities/HeapGXLWriter;
            0   14     1    oop  Lsun/jvm/hotspot/oops/Oop;
            2   12     2    itr  Ljava/util/Iterator;
            4   11     3  field  Lsun/jvm/hotspot/oops/OopField;
            5   11     4    ref  Lsun/jvm/hotspot/oops/Oop;
            6   11     5   name  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      oop   

  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.HeapGXLWriter this
        start local 1 // sun.jvm.hotspot.oops.ObjArray array
         0: .line 137
            aload 0 /* this */
            aload 1 /* array */
            invokevirtual sun.jvm.hotspot.utilities.HeapGXLWriter.writeObjectHeader:(Lsun/jvm/hotspot/oops/Oop;)V
         1: .line 138
            aload 0 /* this */
            aload 1 /* array */
            invokevirtual sun.jvm.hotspot.utilities.HeapGXLWriter.writeArrayLength:(Lsun/jvm/hotspot/oops/Array;)V
         2: .line 139
            aload 0 /* this */
            aload 1 /* array */
            invokevirtual sun.jvm.hotspot.utilities.HeapGXLWriter.writeObjectFields:(Lsun/jvm/hotspot/oops/Oop;)V
         3: .line 140
            aload 0 /* this */
            aload 1 /* array */
            invokevirtual sun.jvm.hotspot.utilities.HeapGXLWriter.writeObjectFooter:(Lsun/jvm/hotspot/oops/Oop;)V
         4: .line 141
            return
        end local 1 // sun.jvm.hotspot.oops.ObjArray array
        end local 0 // sun.jvm.hotspot.utilities.HeapGXLWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lsun/jvm/hotspot/utilities/HeapGXLWriter;
            0    5     1  array  Lsun/jvm/hotspot/oops/ObjArray;
    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=2, locals=3, args_size=2
        start local 0 // sun.jvm.hotspot.utilities.HeapGXLWriter this
        start local 1 // sun.jvm.hotspot.oops.TypeArray array
         0: .line 145
            aload 0 /* this */
            aload 1 /* array */
            invokevirtual sun.jvm.hotspot.utilities.HeapGXLWriter.writeObjectHeader:(Lsun/jvm/hotspot/oops/Oop;)V
         1: .line 147
            aload 0 /* this */
            aload 1 /* array */
            invokevirtual sun.jvm.hotspot.utilities.HeapGXLWriter.writeArrayLength:(Lsun/jvm/hotspot/oops/Array;)V
         2: .line 149
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapGXLWriter.out:Ljava/io/PrintWriter;
            ldc "\t<attr name='elements'>"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         3: .line 150
            aload 1 /* array */
            invokevirtual sun.jvm.hotspot.oops.TypeArray.getKlass:()Lsun/jvm/hotspot/oops/Klass;
            checkcast sun.jvm.hotspot.oops.TypeArrayKlass
            astore 2 /* klass */
        start local 2 // sun.jvm.hotspot.oops.TypeArrayKlass klass
         4: .line 151
            aload 2 /* klass */
            invokevirtual sun.jvm.hotspot.oops.TypeArrayKlass.getElementType:()I
            iconst_5
            if_icmpne 9
         5: .line 153
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapGXLWriter.out:Ljava/io/PrintWriter;
            ldc "\t<string>"
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
         6: .line 154
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapGXLWriter.out:Ljava/io/PrintWriter;
            aload 1 /* array */
            invokestatic sun.jvm.hotspot.oops.OopUtilities.charArrayToString:(Lsun/jvm/hotspot/oops/TypeArray;)Ljava/lang/String;
            invokestatic sun.jvm.hotspot.utilities.HeapGXLWriter.escapeXMLChars:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
         7: .line 155
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapGXLWriter.out:Ljava/io/PrintWriter;
            ldc "</string>"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         8: .line 156
            goto 12
         9: .line 157
      StackMap locals: sun.jvm.hotspot.oops.TypeArrayKlass
      StackMap stack:
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapGXLWriter.out:Ljava/io/PrintWriter;
            ldc "\t<seq>"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        10: .line 158
            aload 0 /* this */
            aload 1 /* array */
            invokevirtual sun.jvm.hotspot.utilities.HeapGXLWriter.writeObjectFields:(Lsun/jvm/hotspot/oops/Oop;)V
        11: .line 159
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapGXLWriter.out:Ljava/io/PrintWriter;
            ldc "\t</seq>"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        12: .line 161
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapGXLWriter.out:Ljava/io/PrintWriter;
            ldc "\t</attr>"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        13: .line 162
            aload 0 /* this */
            aload 1 /* array */
            invokevirtual sun.jvm.hotspot.utilities.HeapGXLWriter.writeObjectFooter:(Lsun/jvm/hotspot/oops/Oop;)V
        14: .line 163
            return
        end local 2 // sun.jvm.hotspot.oops.TypeArrayKlass klass
        end local 1 // sun.jvm.hotspot.oops.TypeArray array
        end local 0 // sun.jvm.hotspot.utilities.HeapGXLWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   15     0   this  Lsun/jvm/hotspot/utilities/HeapGXLWriter;
            0   15     1  array  Lsun/jvm/hotspot/oops/TypeArray;
            4   15     2  klass  Lsun/jvm/hotspot/oops/TypeArrayKlass;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      array  

  protected void writeClass(sun.jvm.hotspot.oops.Instance);
    descriptor: (Lsun/jvm/hotspot/oops/Instance;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=14, args_size=2
        start local 0 // sun.jvm.hotspot.utilities.HeapGXLWriter this
        start local 1 // sun.jvm.hotspot.oops.Instance instance
         0: .line 166
            aload 0 /* this */
            aload 1 /* instance */
            invokevirtual sun.jvm.hotspot.utilities.HeapGXLWriter.writeObjectHeader:(Lsun/jvm/hotspot/oops/Oop;)V
         1: .line 167
            aload 1 /* instance */
            invokestatic sun.jvm.hotspot.oops.java_lang_Class.asKlass:(Lsun/jvm/hotspot/oops/Oop;)Lsun/jvm/hotspot/oops/Klass;
            astore 2 /* reflectedType */
        start local 2 // sun.jvm.hotspot.oops.Klass reflectedType
         2: .line 168
            aload 2 /* reflectedType */
            instanceof sun.jvm.hotspot.oops.InstanceKlass
            istore 3 /* isInstanceKlass */
        start local 3 // boolean isInstanceKlass
         3: .line 170
            aload 2 /* reflectedType */
            ifnull 13
         4: .line 171
            aload 2 /* reflectedType */
            invokevirtual sun.jvm.hotspot.oops.Klass.getName:()Lsun/jvm/hotspot/oops/Symbol;
            astore 4 /* name */
        start local 4 // sun.jvm.hotspot.oops.Symbol name
         5: .line 172
            aload 4 /* name */
            ifnull 7
         6: .line 174
            aload 0 /* this */
            ldc "class-name"
            ldc "string"
            aload 4 /* name */
            invokevirtual sun.jvm.hotspot.oops.Symbol.asString:()Ljava/lang/String;
            invokevirtual sun.jvm.hotspot.utilities.HeapGXLWriter.writeAttribute:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         7: .line 176
      StackMap locals: sun.jvm.hotspot.oops.Klass int sun.jvm.hotspot.oops.Symbol
      StackMap stack:
            iload 3 /* isInstanceKlass */
            ifeq 13
         8: .line 178
            aload 2 /* reflectedType */
            invokevirtual sun.jvm.hotspot.oops.Klass.getLayoutHelper:()I
            i2l
            lstore 5 /* sizeInBytes */
        start local 5 // long sizeInBytes
         9: .line 179
            aload 0 /* this */
            ldc "object-size"
            ldc "int"
        10: .line 180
            lload 5 /* sizeInBytes */
            invokestatic java.lang.Long.toString:(J)Ljava/lang/String;
        11: .line 179
            invokevirtual sun.jvm.hotspot.utilities.HeapGXLWriter.writeAttribute:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        12: .line 182
            aload 0 /* this */
            aload 2 /* reflectedType */
            checkcast sun.jvm.hotspot.oops.InstanceKlass
            invokevirtual sun.jvm.hotspot.utilities.HeapGXLWriter.writeObjectFields:(Lsun/jvm/hotspot/oops/InstanceKlass;)V
        end local 5 // long sizeInBytes
        end local 4 // sun.jvm.hotspot.oops.Symbol name
        13: .line 185
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapGXLWriter.out:Ljava/io/PrintWriter;
            ldc "</node>"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        14: .line 188
            aload 2 /* reflectedType */
            ifnull 42
        15: .line 189
            aload 2 /* reflectedType */
            invokevirtual sun.jvm.hotspot.oops.Klass.getSuper:()Lsun/jvm/hotspot/oops/Klass;
            astore 4 /* superType */
        start local 4 // sun.jvm.hotspot.oops.Klass superType
        16: .line 190
            aload 4 /* superType */
            ifnonnull 18
        17: .line 191
            aconst_null
            goto 19
      StackMap locals: sun.jvm.hotspot.oops.Klass
      StackMap stack:
        18: aload 4 /* superType */
            invokevirtual sun.jvm.hotspot.oops.Klass.getJavaMirror:()Lsun/jvm/hotspot/oops/Instance;
        19: .line 190
      StackMap locals:
      StackMap stack: sun.jvm.hotspot.oops.Instance
            astore 5 /* superMirror */
        start local 5 // sun.jvm.hotspot.oops.Oop superMirror
        20: .line 192
            aload 0 /* this */
            aload 1 /* instance */
            aload 5 /* superMirror */
            ldc "extends"
            invokevirtual sun.jvm.hotspot.utilities.HeapGXLWriter.writeEdge:(Lsun/jvm/hotspot/oops/Oop;Lsun/jvm/hotspot/oops/Oop;Ljava/lang/String;)V
        21: .line 193
            iload 3 /* isInstanceKlass */
            ifeq 42
        22: .line 195
            aload 2 /* reflectedType */
            checkcast sun.jvm.hotspot.oops.InstanceKlass
            astore 6 /* ik */
        start local 6 // sun.jvm.hotspot.oops.InstanceKlass ik
        23: .line 196
            aload 6 /* ik */
            invokevirtual sun.jvm.hotspot.oops.InstanceKlass.getLocalInterfaces:()Lsun/jvm/hotspot/utilities/KlassArray;
            astore 7 /* interfaces */
        start local 7 // sun.jvm.hotspot.utilities.KlassArray interfaces
        24: .line 197
            aload 7 /* interfaces */
            invokevirtual sun.jvm.hotspot.utilities.KlassArray.length:()I
            istore 8 /* len */
        start local 8 // int len
        25: .line 198
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        26: goto 30
        27: .line 199
      StackMap locals: sun.jvm.hotspot.utilities.HeapGXLWriter sun.jvm.hotspot.oops.Instance sun.jvm.hotspot.oops.Klass int sun.jvm.hotspot.oops.Klass sun.jvm.hotspot.oops.Oop sun.jvm.hotspot.oops.InstanceKlass sun.jvm.hotspot.utilities.KlassArray int int
      StackMap stack:
            aload 7 /* interfaces */
            iload 9 /* i */
            invokevirtual sun.jvm.hotspot.utilities.KlassArray.getAt:(I)Lsun/jvm/hotspot/oops/Klass;
            astore 10 /* k */
        start local 10 // sun.jvm.hotspot.oops.Klass k
        28: .line 200
            aload 0 /* this */
            aload 1 /* instance */
            aload 10 /* k */
            invokevirtual sun.jvm.hotspot.oops.Klass.getJavaMirror:()Lsun/jvm/hotspot/oops/Instance;
            ldc "implements"
            invokevirtual sun.jvm.hotspot.utilities.HeapGXLWriter.writeEdge:(Lsun/jvm/hotspot/oops/Oop;Lsun/jvm/hotspot/oops/Oop;Ljava/lang/String;)V
        end local 10 // sun.jvm.hotspot.oops.Klass k
        29: .line 198
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        30: iload 9 /* i */
            iload 8 /* len */
            if_icmplt 27
        end local 9 // int i
        31: .line 204
            aload 6 /* ik */
            invokevirtual sun.jvm.hotspot.oops.InstanceKlass.getClassLoader:()Lsun/jvm/hotspot/oops/Oop;
            astore 9 /* loader */
        start local 9 // sun.jvm.hotspot.oops.Oop loader
        32: .line 205
            aload 0 /* this */
            aload 1 /* instance */
            aload 9 /* loader */
            ldc "loaded-by"
            invokevirtual sun.jvm.hotspot.utilities.HeapGXLWriter.writeEdge:(Lsun/jvm/hotspot/oops/Oop;Lsun/jvm/hotspot/oops/Oop;Ljava/lang/String;)V
        33: .line 209
            aload 0 /* this */
            aload 1 /* instance */
            aconst_null
            ldc "signed-by"
            invokevirtual sun.jvm.hotspot.utilities.HeapGXLWriter.writeEdge:(Lsun/jvm/hotspot/oops/Oop;Lsun/jvm/hotspot/oops/Oop;Ljava/lang/String;)V
        34: .line 213
            aload 0 /* this */
            aload 1 /* instance */
            aconst_null
            ldc "protection-domain"
            invokevirtual sun.jvm.hotspot.utilities.HeapGXLWriter.writeEdge:(Lsun/jvm/hotspot/oops/Oop;Lsun/jvm/hotspot/oops/Oop;Ljava/lang/String;)V
        35: .line 216
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapGXLWriter.refFields:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 10 /* itr */
        start local 10 // java.util.Iterator itr
        36: goto 41
        37: .line 217
      StackMap locals: sun.jvm.hotspot.utilities.HeapGXLWriter sun.jvm.hotspot.oops.Instance sun.jvm.hotspot.oops.Klass int sun.jvm.hotspot.oops.Klass sun.jvm.hotspot.oops.Oop sun.jvm.hotspot.oops.InstanceKlass sun.jvm.hotspot.utilities.KlassArray int sun.jvm.hotspot.oops.Oop java.util.Iterator
      StackMap stack:
            aload 10 /* itr */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.jvm.hotspot.oops.OopField
            astore 11 /* field */
        start local 11 // sun.jvm.hotspot.oops.OopField field
        38: .line 218
            aload 11 /* field */
            aload 2 /* reflectedType */
            invokevirtual sun.jvm.hotspot.oops.OopField.getValue:(Lsun/jvm/hotspot/runtime/VMObject;)Lsun/jvm/hotspot/oops/Oop;
            astore 12 /* ref */
        start local 12 // sun.jvm.hotspot.oops.Oop ref
        39: .line 219
            aload 11 /* field */
            invokevirtual sun.jvm.hotspot.oops.OopField.getID:()Lsun/jvm/hotspot/oops/FieldIdentifier;
            invokevirtual sun.jvm.hotspot.oops.FieldIdentifier.getName:()Ljava/lang/String;
            astore 13 /* name */
        start local 13 // java.lang.String name
        40: .line 220
            aload 0 /* this */
            aload 1 /* instance */
            aload 12 /* ref */
            aload 13 /* name */
            invokestatic sun.jvm.hotspot.utilities.HeapGXLWriter.identifierToXMLName:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual sun.jvm.hotspot.utilities.HeapGXLWriter.writeEdge:(Lsun/jvm/hotspot/oops/Oop;Lsun/jvm/hotspot/oops/Oop;Ljava/lang/String;)V
        end local 13 // java.lang.String name
        end local 12 // sun.jvm.hotspot.oops.Oop ref
        end local 11 // sun.jvm.hotspot.oops.OopField field
        41: .line 216
      StackMap locals:
      StackMap stack:
            aload 10 /* itr */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 37
        end local 10 // java.util.Iterator itr
        end local 9 // sun.jvm.hotspot.oops.Oop loader
        end local 8 // int len
        end local 7 // sun.jvm.hotspot.utilities.KlassArray interfaces
        end local 6 // sun.jvm.hotspot.oops.InstanceKlass ik
        end local 5 // sun.jvm.hotspot.oops.Oop superMirror
        end local 4 // sun.jvm.hotspot.oops.Klass superType
        42: .line 224
      StackMap locals: sun.jvm.hotspot.utilities.HeapGXLWriter sun.jvm.hotspot.oops.Instance sun.jvm.hotspot.oops.Klass int
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield sun.jvm.hotspot.utilities.HeapGXLWriter.refFields:Ljava/util/List;
        43: .line 225
            return
        end local 3 // boolean isInstanceKlass
        end local 2 // sun.jvm.hotspot.oops.Klass reflectedType
        end local 1 // sun.jvm.hotspot.oops.Instance instance
        end local 0 // sun.jvm.hotspot.utilities.HeapGXLWriter this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   44     0             this  Lsun/jvm/hotspot/utilities/HeapGXLWriter;
            0   44     1         instance  Lsun/jvm/hotspot/oops/Instance;
            2   44     2    reflectedType  Lsun/jvm/hotspot/oops/Klass;
            3   44     3  isInstanceKlass  Z
            5   13     4             name  Lsun/jvm/hotspot/oops/Symbol;
            9   13     5      sizeInBytes  J
           16   42     4        superType  Lsun/jvm/hotspot/oops/Klass;
           20   42     5      superMirror  Lsun/jvm/hotspot/oops/Oop;
           23   42     6               ik  Lsun/jvm/hotspot/oops/InstanceKlass;
           24   42     7       interfaces  Lsun/jvm/hotspot/utilities/KlassArray;
           25   42     8              len  I
           26   31     9                i  I
           28   29    10                k  Lsun/jvm/hotspot/oops/Klass;
           32   42     9           loader  Lsun/jvm/hotspot/oops/Oop;
           36   42    10              itr  Ljava/util/Iterator;
           38   41    11            field  Lsun/jvm/hotspot/oops/OopField;
           39   41    12              ref  Lsun/jvm/hotspot/oops/Oop;
           40   41    13             name  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      instance  

  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=2, locals=3, args_size=3
        start local 0 // sun.jvm.hotspot.utilities.HeapGXLWriter this
        start local 1 // sun.jvm.hotspot.oops.Oop oop
        start local 2 // sun.jvm.hotspot.oops.OopField field
         0: .line 229
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapGXLWriter.refFields:Ljava/util/List;
            aload 2 /* field */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         1: .line 230
            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.HeapGXLWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lsun/jvm/hotspot/utilities/HeapGXLWriter;
            0    2     1    oop  Lsun/jvm/hotspot/oops/Oop;
            0    2     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=6, locals=3, args_size=3
        start local 0 // sun.jvm.hotspot.utilities.HeapGXLWriter this
        start local 1 // sun.jvm.hotspot.oops.Oop oop
        start local 2 // sun.jvm.hotspot.oops.ByteField field
         0: .line 234
            aload 0 /* this */
            aload 2 /* field */
            ldc "int"
            ldc "B"
            aload 2 /* field */
            aload 1 /* oop */
            invokevirtual sun.jvm.hotspot.oops.ByteField.getValue:(Lsun/jvm/hotspot/oops/Oop;)B
            invokestatic java.lang.Byte.toString:(B)Ljava/lang/String;
            invokevirtual sun.jvm.hotspot.utilities.HeapGXLWriter.writeField:(Lsun/jvm/hotspot/oops/Field;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         1: .line 235
            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.HeapGXLWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lsun/jvm/hotspot/utilities/HeapGXLWriter;
            0    2     1    oop  Lsun/jvm/hotspot/oops/Oop;
            0    2     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=6, locals=3, args_size=3
        start local 0 // sun.jvm.hotspot.utilities.HeapGXLWriter this
        start local 1 // sun.jvm.hotspot.oops.Oop oop
        start local 2 // sun.jvm.hotspot.oops.CharField field
         0: .line 239
            aload 0 /* this */
            aload 2 /* field */
            ldc "string"
            ldc "C"
         1: .line 240
            aload 2 /* field */
            aload 1 /* oop */
            invokevirtual sun.jvm.hotspot.oops.CharField.getValue:(Lsun/jvm/hotspot/oops/Oop;)C
            invokestatic java.lang.Character.toString:(C)Ljava/lang/String;
            invokestatic sun.jvm.hotspot.utilities.HeapGXLWriter.escapeXMLChars:(Ljava/lang/String;)Ljava/lang/String;
         2: .line 239
            invokevirtual sun.jvm.hotspot.utilities.HeapGXLWriter.writeField:(Lsun/jvm/hotspot/oops/Field;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         3: .line 241
            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.HeapGXLWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lsun/jvm/hotspot/utilities/HeapGXLWriter;
            0    4     1    oop  Lsun/jvm/hotspot/oops/Oop;
            0    4     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=6, locals=3, args_size=3
        start local 0 // sun.jvm.hotspot.utilities.HeapGXLWriter this
        start local 1 // sun.jvm.hotspot.oops.Oop oop
        start local 2 // sun.jvm.hotspot.oops.BooleanField field
         0: .line 245
            aload 0 /* this */
            aload 2 /* field */
            ldc "bool"
            ldc "Z"
            aload 2 /* field */
            aload 1 /* oop */
            invokevirtual sun.jvm.hotspot.oops.BooleanField.getValue:(Lsun/jvm/hotspot/oops/Oop;)Z
            invokestatic java.lang.Boolean.toString:(Z)Ljava/lang/String;
            invokevirtual sun.jvm.hotspot.utilities.HeapGXLWriter.writeField:(Lsun/jvm/hotspot/oops/Field;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         1: .line 246
            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.HeapGXLWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lsun/jvm/hotspot/utilities/HeapGXLWriter;
            0    2     1    oop  Lsun/jvm/hotspot/oops/Oop;
            0    2     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=6, locals=3, args_size=3
        start local 0 // sun.jvm.hotspot.utilities.HeapGXLWriter this
        start local 1 // sun.jvm.hotspot.oops.Oop oop
        start local 2 // sun.jvm.hotspot.oops.ShortField field
         0: .line 250
            aload 0 /* this */
            aload 2 /* field */
            ldc "int"
            ldc "S"
            aload 2 /* field */
            aload 1 /* oop */
            invokevirtual sun.jvm.hotspot.oops.ShortField.getValue:(Lsun/jvm/hotspot/oops/Oop;)S
            invokestatic java.lang.Short.toString:(S)Ljava/lang/String;
            invokevirtual sun.jvm.hotspot.utilities.HeapGXLWriter.writeField:(Lsun/jvm/hotspot/oops/Field;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         1: .line 251
            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.HeapGXLWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lsun/jvm/hotspot/utilities/HeapGXLWriter;
            0    2     1    oop  Lsun/jvm/hotspot/oops/Oop;
            0    2     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=6, locals=3, args_size=3
        start local 0 // sun.jvm.hotspot.utilities.HeapGXLWriter this
        start local 1 // sun.jvm.hotspot.oops.Oop oop
        start local 2 // sun.jvm.hotspot.oops.IntField field
         0: .line 255
            aload 0 /* this */
            aload 2 /* field */
            ldc "int"
            ldc "I"
            aload 2 /* field */
            aload 1 /* oop */
            invokevirtual sun.jvm.hotspot.oops.IntField.getValue:(Lsun/jvm/hotspot/oops/Oop;)I
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            invokevirtual sun.jvm.hotspot.utilities.HeapGXLWriter.writeField:(Lsun/jvm/hotspot/oops/Field;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         1: .line 256
            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.HeapGXLWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lsun/jvm/hotspot/utilities/HeapGXLWriter;
            0    2     1    oop  Lsun/jvm/hotspot/oops/Oop;
            0    2     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=6, locals=3, args_size=3
        start local 0 // sun.jvm.hotspot.utilities.HeapGXLWriter this
        start local 1 // sun.jvm.hotspot.oops.Oop oop
        start local 2 // sun.jvm.hotspot.oops.LongField field
         0: .line 260
            aload 0 /* this */
            aload 2 /* field */
            ldc "int"
            ldc "J"
            aload 2 /* field */
            aload 1 /* oop */
            invokevirtual sun.jvm.hotspot.oops.LongField.getValue:(Lsun/jvm/hotspot/oops/Oop;)J
            invokestatic java.lang.Long.toString:(J)Ljava/lang/String;
            invokevirtual sun.jvm.hotspot.utilities.HeapGXLWriter.writeField:(Lsun/jvm/hotspot/oops/Field;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         1: .line 261
            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.HeapGXLWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lsun/jvm/hotspot/utilities/HeapGXLWriter;
            0    2     1    oop  Lsun/jvm/hotspot/oops/Oop;
            0    2     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=6, locals=3, args_size=3
        start local 0 // sun.jvm.hotspot.utilities.HeapGXLWriter this
        start local 1 // sun.jvm.hotspot.oops.Oop oop
        start local 2 // sun.jvm.hotspot.oops.FloatField field
         0: .line 265
            aload 0 /* this */
            aload 2 /* field */
            ldc "float"
            ldc "F"
            aload 2 /* field */
            aload 1 /* oop */
            invokevirtual sun.jvm.hotspot.oops.FloatField.getValue:(Lsun/jvm/hotspot/oops/Oop;)F
            invokestatic java.lang.Float.toString:(F)Ljava/lang/String;
            invokevirtual sun.jvm.hotspot.utilities.HeapGXLWriter.writeField:(Lsun/jvm/hotspot/oops/Field;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         1: .line 266
            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.HeapGXLWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lsun/jvm/hotspot/utilities/HeapGXLWriter;
            0    2     1    oop  Lsun/jvm/hotspot/oops/Oop;
            0    2     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=6, locals=3, args_size=3
        start local 0 // sun.jvm.hotspot.utilities.HeapGXLWriter this
        start local 1 // sun.jvm.hotspot.oops.Oop oop
        start local 2 // sun.jvm.hotspot.oops.DoubleField field
         0: .line 270
            aload 0 /* this */
            aload 2 /* field */
            ldc "float"
            ldc "D"
            aload 2 /* field */
            aload 1 /* oop */
            invokevirtual sun.jvm.hotspot.oops.DoubleField.getValue:(Lsun/jvm/hotspot/oops/Oop;)D
            invokestatic java.lang.Double.toString:(D)Ljava/lang/String;
            invokevirtual sun.jvm.hotspot.utilities.HeapGXLWriter.writeField:(Lsun/jvm/hotspot/oops/Field;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         1: .line 271
            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.HeapGXLWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lsun/jvm/hotspot/utilities/HeapGXLWriter;
            0    2     1    oop  Lsun/jvm/hotspot/oops/Oop;
            0    2     2  field  Lsun/jvm/hotspot/oops/DoubleField;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      oop    
      field  

  protected void writeHeapFooter();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.jvm.hotspot.utilities.HeapGXLWriter this
         0: .line 274
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapGXLWriter.out:Ljava/io/PrintWriter;
            ldc "</graph>"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         1: .line 275
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapGXLWriter.out:Ljava/io/PrintWriter;
            ldc "</gxl>"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         2: .line 276
            return
        end local 0 // sun.jvm.hotspot.utilities.HeapGXLWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/jvm/hotspot/utilities/HeapGXLWriter;
    Exceptions:
      throws java.io.IOException

  private static java.lang.String identifierToXMLName(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String name
         0: .line 283
            aload 0 /* name */
            bipush 36
            bipush 95
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            areturn
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  private static java.lang.String escapeXMLChars(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=1
        start local 0 // java.lang.String s
         0: .line 289
            aconst_null
            astore 1 /* result */
        start local 1 // java.lang.StringBuffer result
         1: .line 290
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: aload 0 /* s */
            invokevirtual java.lang.String.length:()I
            istore 3 /* max */
        start local 3 // int max
         3: iconst_0
            istore 4 /* delta */
        start local 4 // int delta
         4: goto 33
         5: .line 291
      StackMap locals: java.lang.String java.lang.StringBuffer int int int
      StackMap stack:
            aload 0 /* s */
            iload 2 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 5 /* c */
        start local 5 // char c
         6: .line 292
            aconst_null
            astore 6 /* replacement */
        start local 6 // java.lang.String replacement
         7: .line 293
            iload 5 /* c */
            bipush 38
            if_icmpne 10
         8: .line 294
            ldc "&amp;"
            astore 6 /* replacement */
         9: .line 295
            goto 27
      StackMap locals: int java.lang.String
      StackMap stack:
        10: iload 5 /* c */
            bipush 60
            if_icmpne 13
        11: .line 296
            ldc "&lt;"
            astore 6 /* replacement */
        12: .line 297
            goto 27
      StackMap locals:
      StackMap stack:
        13: iload 5 /* c */
            bipush 62
            if_icmpne 16
        14: .line 298
            ldc "&gt;"
            astore 6 /* replacement */
        15: .line 299
            goto 27
      StackMap locals:
      StackMap stack:
        16: iload 5 /* c */
            bipush 34
            if_icmpne 19
        17: .line 300
            ldc "&quot;"
            astore 6 /* replacement */
        18: .line 301
            goto 27
      StackMap locals:
      StackMap stack:
        19: iload 5 /* c */
            bipush 39
            if_icmpne 22
        20: .line 302
            ldc "&apos;"
            astore 6 /* replacement */
        21: .line 303
            goto 27
      StackMap locals:
      StackMap stack:
        22: iload 5 /* c */
            bipush 32
            if_icmplt 24
            iload 5 /* c */
            ldc 55295
            if_icmple 23
            iload 5 /* c */
            ldc 57344
            if_icmplt 24
        23: .line 304
      StackMap locals:
      StackMap stack:
            iload 5 /* c */
            ldc 65534
            if_icmpeq 24
            iload 5 /* c */
            ldc 65535
            if_icmpne 27
        24: .line 308
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "<![CDATA[&#x"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        25: .line 309
            iload 5 /* c */
            invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ";]]>"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        26: .line 308
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 6 /* replacement */
        27: .line 312
      StackMap locals:
      StackMap stack:
            aload 6 /* replacement */
            ifnull 32
        28: .line 313
            aload 1 /* result */
            ifnonnull 30
        29: .line 314
            new java.lang.StringBuffer
            dup
            aload 0 /* s */
            invokespecial java.lang.StringBuffer.<init>:(Ljava/lang/String;)V
            astore 1 /* result */
        30: .line 316
      StackMap locals:
      StackMap stack:
            aload 1 /* result */
            iload 2 /* i */
            iload 4 /* delta */
            iadd
            iload 2 /* i */
            iload 4 /* delta */
            iadd
            iconst_1
            iadd
            aload 6 /* replacement */
            invokevirtual java.lang.StringBuffer.replace:(IILjava/lang/String;)Ljava/lang/StringBuffer;
            pop
        31: .line 317
            iload 4 /* delta */
            aload 6 /* replacement */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            iadd
            istore 4 /* delta */
        end local 6 // java.lang.String replacement
        end local 5 // char c
        32: .line 290
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        33: iload 2 /* i */
            iload 3 /* max */
            if_icmplt 5
        end local 4 // int delta
        end local 3 // int max
        end local 2 // int i
        34: .line 320
            aload 1 /* result */
            ifnonnull 36
        35: .line 321
            aload 0 /* s */
            areturn
        36: .line 323
      StackMap locals:
      StackMap stack:
            aload 1 /* result */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuffer result
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   37     0            s  Ljava/lang/String;
            1   37     1       result  Ljava/lang/StringBuffer;
            2   34     2            i  I
            3   34     3          max  I
            4   34     4        delta  I
            6   32     5            c  C
            7   32     6  replacement  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      s     

  private static java.lang.String getID(sun.jvm.hotspot.oops.Oop);
    descriptor: (Lsun/jvm/hotspot/oops/Oop;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.jvm.hotspot.oops.Oop oop
         0: .line 328
            aload 0 /* oop */
            ifnonnull 2
         1: .line 329
            ldc "ID_NULL"
            areturn
         2: .line 331
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "ID_"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* oop */
            invokevirtual sun.jvm.hotspot.oops.Oop.getHandle:()Lsun/jvm/hotspot/debugger/OopHandle;
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // sun.jvm.hotspot.oops.Oop oop
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0   oop  Lsun/jvm/hotspot/oops/Oop;
    MethodParameters:
      Name  Flags
      oop   

  private void writeArrayLength(sun.jvm.hotspot.oops.Array);
    descriptor: (Lsun/jvm/hotspot/oops/Array;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // sun.jvm.hotspot.utilities.HeapGXLWriter this
        start local 1 // sun.jvm.hotspot.oops.Array array
         0: .line 336
            aload 0 /* this */
            ldc "length"
            ldc "int"
         1: .line 337
            aload 1 /* array */
            invokevirtual sun.jvm.hotspot.oops.Array.getLength:()J
            l2i
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
         2: .line 336
            invokevirtual sun.jvm.hotspot.utilities.HeapGXLWriter.writeAttribute:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         3: .line 338
            return
        end local 1 // sun.jvm.hotspot.oops.Array array
        end local 0 // sun.jvm.hotspot.utilities.HeapGXLWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lsun/jvm/hotspot/utilities/HeapGXLWriter;
            0    4     1  array  Lsun/jvm/hotspot/oops/Array;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      array  

  private void writeAttribute(java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // sun.jvm.hotspot.utilities.HeapGXLWriter this
        start local 1 // java.lang.String name
        start local 2 // java.lang.String type
        start local 3 // java.lang.String value
         0: .line 341
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapGXLWriter.out:Ljava/io/PrintWriter;
            ldc "\t<attr name='"
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
         1: .line 342
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapGXLWriter.out:Ljava/io/PrintWriter;
            aload 1 /* name */
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
         2: .line 343
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapGXLWriter.out:Ljava/io/PrintWriter;
            ldc "'><"
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
         3: .line 344
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapGXLWriter.out:Ljava/io/PrintWriter;
            aload 2 /* type */
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
         4: .line 345
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapGXLWriter.out:Ljava/io/PrintWriter;
            bipush 62
            invokevirtual java.io.PrintWriter.print:(C)V
         5: .line 346
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapGXLWriter.out:Ljava/io/PrintWriter;
            aload 3 /* value */
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
         6: .line 347
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapGXLWriter.out:Ljava/io/PrintWriter;
            ldc "</"
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
         7: .line 348
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapGXLWriter.out:Ljava/io/PrintWriter;
            aload 2 /* type */
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
         8: .line 349
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapGXLWriter.out:Ljava/io/PrintWriter;
            ldc "></attr>"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         9: .line 350
            return
        end local 3 // java.lang.String value
        end local 2 // java.lang.String type
        end local 1 // java.lang.String name
        end local 0 // sun.jvm.hotspot.utilities.HeapGXLWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0   this  Lsun/jvm/hotspot/utilities/HeapGXLWriter;
            0   10     1   name  Ljava/lang/String;
            0   10     2   type  Ljava/lang/String;
            0   10     3  value  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      name   
      type   
      value  

  private void writeEdge(sun.jvm.hotspot.oops.Oop, sun.jvm.hotspot.oops.Oop, java.lang.String);
    descriptor: (Lsun/jvm/hotspot/oops/Oop;Lsun/jvm/hotspot/oops/Oop;Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // sun.jvm.hotspot.utilities.HeapGXLWriter this
        start local 1 // sun.jvm.hotspot.oops.Oop from
        start local 2 // sun.jvm.hotspot.oops.Oop to
        start local 3 // java.lang.String name
         0: .line 353
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapGXLWriter.out:Ljava/io/PrintWriter;
            ldc "<edge from='"
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
         1: .line 354
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapGXLWriter.out:Ljava/io/PrintWriter;
            aload 1 /* from */
            invokestatic sun.jvm.hotspot.utilities.HeapGXLWriter.getID:(Lsun/jvm/hotspot/oops/Oop;)Ljava/lang/String;
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
         2: .line 355
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapGXLWriter.out:Ljava/io/PrintWriter;
            ldc "' to='"
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
         3: .line 356
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapGXLWriter.out:Ljava/io/PrintWriter;
            aload 2 /* to */
            invokestatic sun.jvm.hotspot.utilities.HeapGXLWriter.getID:(Lsun/jvm/hotspot/oops/Oop;)Ljava/lang/String;
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
         4: .line 357
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapGXLWriter.out:Ljava/io/PrintWriter;
            ldc "'>"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         5: .line 358
            aload 0 /* this */
            ldc "name"
            ldc "string"
            aload 3 /* name */
            invokevirtual sun.jvm.hotspot.utilities.HeapGXLWriter.writeAttribute:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         6: .line 359
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapGXLWriter.out:Ljava/io/PrintWriter;
            ldc "</edge>"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         7: .line 360
            return
        end local 3 // java.lang.String name
        end local 2 // sun.jvm.hotspot.oops.Oop to
        end local 1 // sun.jvm.hotspot.oops.Oop from
        end local 0 // sun.jvm.hotspot.utilities.HeapGXLWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lsun/jvm/hotspot/utilities/HeapGXLWriter;
            0    8     1  from  Lsun/jvm/hotspot/oops/Oop;
            0    8     2    to  Lsun/jvm/hotspot/oops/Oop;
            0    8     3  name  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      from  
      to    
      name  

  private void writeField(sun.jvm.hotspot.oops.Field, java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Lsun/jvm/hotspot/oops/Field;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=6, args_size=5
        start local 0 // sun.jvm.hotspot.utilities.HeapGXLWriter this
        start local 1 // sun.jvm.hotspot.oops.Field field
        start local 2 // java.lang.String type
        start local 3 // java.lang.String kind
        start local 4 // java.lang.String value
         0: .line 366
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapGXLWriter.isArray:Z
            ifeq 3
         1: .line 367
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapGXLWriter.out:Ljava/io/PrintWriter;
            bipush 9
            invokevirtual java.io.PrintWriter.print:(C)V
         2: .line 368
            goto 9
         3: .line 369
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapGXLWriter.out:Ljava/io/PrintWriter;
            ldc "\t<attr name='"
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
         4: .line 370
            aload 1 /* field */
            invokevirtual sun.jvm.hotspot.oops.Field.getID:()Lsun/jvm/hotspot/oops/FieldIdentifier;
            invokevirtual sun.jvm.hotspot.oops.FieldIdentifier.getName:()Ljava/lang/String;
            astore 5 /* name */
        start local 5 // java.lang.String name
         5: .line 371
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapGXLWriter.out:Ljava/io/PrintWriter;
            aload 5 /* name */
            invokestatic sun.jvm.hotspot.utilities.HeapGXLWriter.identifierToXMLName:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
         6: .line 372
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapGXLWriter.out:Ljava/io/PrintWriter;
            ldc "' kind='"
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
         7: .line 373
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapGXLWriter.out:Ljava/io/PrintWriter;
            aload 3 /* kind */
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
         8: .line 374
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapGXLWriter.out:Ljava/io/PrintWriter;
            ldc "'>"
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
        end local 5 // java.lang.String name
         9: .line 376
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapGXLWriter.out:Ljava/io/PrintWriter;
            bipush 60
            invokevirtual java.io.PrintWriter.print:(C)V
        10: .line 377
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapGXLWriter.out:Ljava/io/PrintWriter;
            aload 2 /* type */
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
        11: .line 378
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapGXLWriter.out:Ljava/io/PrintWriter;
            bipush 62
            invokevirtual java.io.PrintWriter.print:(C)V
        12: .line 379
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapGXLWriter.out:Ljava/io/PrintWriter;
            aload 4 /* value */
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
        13: .line 380
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapGXLWriter.out:Ljava/io/PrintWriter;
            ldc "</"
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
        14: .line 381
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapGXLWriter.out:Ljava/io/PrintWriter;
            aload 2 /* type */
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
        15: .line 382
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapGXLWriter.out:Ljava/io/PrintWriter;
            bipush 62
            invokevirtual java.io.PrintWriter.print:(C)V
        16: .line 383
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapGXLWriter.isArray:Z
            ifeq 19
        17: .line 384
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapGXLWriter.out:Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.println:()V
        18: .line 385
            goto 20
        19: .line 386
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.HeapGXLWriter.out:Ljava/io/PrintWriter;
            ldc "</attr>"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        20: .line 388
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.lang.String value
        end local 3 // java.lang.String kind
        end local 2 // java.lang.String type
        end local 1 // sun.jvm.hotspot.oops.Field field
        end local 0 // sun.jvm.hotspot.utilities.HeapGXLWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   21     0   this  Lsun/jvm/hotspot/utilities/HeapGXLWriter;
            0   21     1  field  Lsun/jvm/hotspot/oops/Field;
            0   21     2   type  Ljava/lang/String;
            0   21     3   kind  Ljava/lang/String;
            0   21     4  value  Ljava/lang/String;
            5    9     5   name  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      field  
      type   
      kind   
      value  

  private void writeVMInfo();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // sun.jvm.hotspot.utilities.HeapGXLWriter this
         0: .line 391
            invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
            astore 1 /* vm */
        start local 1 // sun.jvm.hotspot.runtime.VM vm
         1: .line 392
            aload 0 /* this */
            ldc "vm-version"
            ldc "string"
            aload 1 /* vm */
            invokevirtual sun.jvm.hotspot.runtime.VM.getVMRelease:()Ljava/lang/String;
            invokevirtual sun.jvm.hotspot.utilities.HeapGXLWriter.writeAttribute:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         2: .line 393
            aload 0 /* this */
            ldc "vm-type"
            ldc "string"
         3: .line 394
            aload 1 /* vm */
            invokevirtual sun.jvm.hotspot.runtime.VM.isClientCompiler:()Z
            ifeq 4
            ldc "client"
            goto 6
         4: .line 395
      StackMap locals: sun.jvm.hotspot.utilities.HeapGXLWriter sun.jvm.hotspot.runtime.VM
      StackMap stack: sun.jvm.hotspot.utilities.HeapGXLWriter java.lang.String java.lang.String
            aload 1 /* vm */
            invokevirtual sun.jvm.hotspot.runtime.VM.isServerCompiler:()Z
            ifeq 5
            ldc "server"
            goto 6
      StackMap locals: sun.jvm.hotspot.utilities.HeapGXLWriter sun.jvm.hotspot.runtime.VM
      StackMap stack: sun.jvm.hotspot.utilities.HeapGXLWriter java.lang.String java.lang.String
         5: ldc "core"
         6: .line 393
      StackMap locals: sun.jvm.hotspot.utilities.HeapGXLWriter sun.jvm.hotspot.runtime.VM
      StackMap stack: sun.jvm.hotspot.utilities.HeapGXLWriter java.lang.String java.lang.String java.lang.String
            invokevirtual sun.jvm.hotspot.utilities.HeapGXLWriter.writeAttribute:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         7: .line 396
            aload 0 /* this */
            ldc "os"
            ldc "string"
            aload 1 /* vm */
            invokevirtual sun.jvm.hotspot.runtime.VM.getOS:()Ljava/lang/String;
            invokevirtual sun.jvm.hotspot.utilities.HeapGXLWriter.writeAttribute:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         8: .line 397
            aload 0 /* this */
            ldc "cpu"
            ldc "string"
            aload 1 /* vm */
            invokevirtual sun.jvm.hotspot.runtime.VM.getCPU:()Ljava/lang/String;
            invokevirtual sun.jvm.hotspot.utilities.HeapGXLWriter.writeAttribute:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         9: .line 398
            aload 0 /* this */
            ldc "pointer-size"
            ldc "string"
        10: .line 399
            aload 1 /* vm */
            invokevirtual sun.jvm.hotspot.runtime.VM.getOopSize:()J
            l2i
            bipush 8
            imul
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
        11: .line 398
            invokevirtual sun.jvm.hotspot.utilities.HeapGXLWriter.writeAttribute:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        12: .line 400
            return
        end local 1 // sun.jvm.hotspot.runtime.VM vm
        end local 0 // sun.jvm.hotspot.utilities.HeapGXLWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Lsun/jvm/hotspot/utilities/HeapGXLWriter;
            1   13     1    vm  Lsun/jvm/hotspot/runtime/VM;
    Exceptions:
      throws java.io.IOException
}
SourceFile: "HeapGXLWriter.java"