public class sun.jvm.hotspot.oops.ObjectHeap
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.jvm.hotspot.oops.ObjectHeap
  super_class: java.lang.Object
{
  private static final boolean DEBUG;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 51
            ldc "sun.jvm.hotspot.oops.ObjectHeap.DEBUG"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            ifnull 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic sun.jvm.hotspot.oops.ObjectHeap.DEBUG:Z
         3: .line 52
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void initialize(sun.jvm.hotspot.types.TypeDataBase);
    descriptor: (Lsun/jvm/hotspot/types/TypeDataBase;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // sun.jvm.hotspot.oops.ObjectHeap this
        start local 1 // sun.jvm.hotspot.types.TypeDataBase db
         0: .line 74
            aload 1 /* db */
            ldc "Universe"
            invokeinterface sun.jvm.hotspot.types.TypeDataBase.lookupType:(Ljava/lang/String;)Lsun/jvm/hotspot/types/Type;
            astore 2 /* universeType */
        start local 2 // sun.jvm.hotspot.types.Type universeType
         1: .line 76
            aload 0 /* this */
            aload 2 /* universeType */
            ldc "_boolArrayKlassObj"
            invokeinterface sun.jvm.hotspot.types.Type.getAddressField:(Ljava/lang/String;)Lsun/jvm/hotspot/types/AddressField;
            invokeinterface sun.jvm.hotspot.types.AddressField.getValue:()Lsun/jvm/hotspot/debugger/Address;
            putfield sun.jvm.hotspot.oops.ObjectHeap.boolArrayKlassHandle:Lsun/jvm/hotspot/debugger/Address;
         2: .line 77
            aload 0 /* this */
            new sun.jvm.hotspot.oops.TypeArrayKlass
            dup
            aload 0 /* this */
            getfield sun.jvm.hotspot.oops.ObjectHeap.boolArrayKlassHandle:Lsun/jvm/hotspot/debugger/Address;
            invokespecial sun.jvm.hotspot.oops.TypeArrayKlass.<init>:(Lsun/jvm/hotspot/debugger/Address;)V
            putfield sun.jvm.hotspot.oops.ObjectHeap.boolArrayKlassObj:Lsun/jvm/hotspot/oops/TypeArrayKlass;
         3: .line 79
            aload 0 /* this */
            aload 2 /* universeType */
            ldc "_byteArrayKlassObj"
            invokeinterface sun.jvm.hotspot.types.Type.getAddressField:(Ljava/lang/String;)Lsun/jvm/hotspot/types/AddressField;
            invokeinterface sun.jvm.hotspot.types.AddressField.getValue:()Lsun/jvm/hotspot/debugger/Address;
            putfield sun.jvm.hotspot.oops.ObjectHeap.byteArrayKlassHandle:Lsun/jvm/hotspot/debugger/Address;
         4: .line 80
            aload 0 /* this */
            new sun.jvm.hotspot.oops.TypeArrayKlass
            dup
            aload 0 /* this */
            getfield sun.jvm.hotspot.oops.ObjectHeap.byteArrayKlassHandle:Lsun/jvm/hotspot/debugger/Address;
            invokespecial sun.jvm.hotspot.oops.TypeArrayKlass.<init>:(Lsun/jvm/hotspot/debugger/Address;)V
            putfield sun.jvm.hotspot.oops.ObjectHeap.byteArrayKlassObj:Lsun/jvm/hotspot/oops/TypeArrayKlass;
         5: .line 82
            aload 0 /* this */
            aload 2 /* universeType */
            ldc "_charArrayKlassObj"
            invokeinterface sun.jvm.hotspot.types.Type.getAddressField:(Ljava/lang/String;)Lsun/jvm/hotspot/types/AddressField;
            invokeinterface sun.jvm.hotspot.types.AddressField.getValue:()Lsun/jvm/hotspot/debugger/Address;
            putfield sun.jvm.hotspot.oops.ObjectHeap.charArrayKlassHandle:Lsun/jvm/hotspot/debugger/Address;
         6: .line 83
            aload 0 /* this */
            new sun.jvm.hotspot.oops.TypeArrayKlass
            dup
            aload 0 /* this */
            getfield sun.jvm.hotspot.oops.ObjectHeap.charArrayKlassHandle:Lsun/jvm/hotspot/debugger/Address;
            invokespecial sun.jvm.hotspot.oops.TypeArrayKlass.<init>:(Lsun/jvm/hotspot/debugger/Address;)V
            putfield sun.jvm.hotspot.oops.ObjectHeap.charArrayKlassObj:Lsun/jvm/hotspot/oops/TypeArrayKlass;
         7: .line 85
            aload 0 /* this */
            aload 2 /* universeType */
            ldc "_intArrayKlassObj"
            invokeinterface sun.jvm.hotspot.types.Type.getAddressField:(Ljava/lang/String;)Lsun/jvm/hotspot/types/AddressField;
            invokeinterface sun.jvm.hotspot.types.AddressField.getValue:()Lsun/jvm/hotspot/debugger/Address;
            putfield sun.jvm.hotspot.oops.ObjectHeap.intArrayKlassHandle:Lsun/jvm/hotspot/debugger/Address;
         8: .line 86
            aload 0 /* this */
            new sun.jvm.hotspot.oops.TypeArrayKlass
            dup
            aload 0 /* this */
            getfield sun.jvm.hotspot.oops.ObjectHeap.intArrayKlassHandle:Lsun/jvm/hotspot/debugger/Address;
            invokespecial sun.jvm.hotspot.oops.TypeArrayKlass.<init>:(Lsun/jvm/hotspot/debugger/Address;)V
            putfield sun.jvm.hotspot.oops.ObjectHeap.intArrayKlassObj:Lsun/jvm/hotspot/oops/TypeArrayKlass;
         9: .line 88
            aload 0 /* this */
            aload 2 /* universeType */
            ldc "_shortArrayKlassObj"
            invokeinterface sun.jvm.hotspot.types.Type.getAddressField:(Ljava/lang/String;)Lsun/jvm/hotspot/types/AddressField;
            invokeinterface sun.jvm.hotspot.types.AddressField.getValue:()Lsun/jvm/hotspot/debugger/Address;
            putfield sun.jvm.hotspot.oops.ObjectHeap.shortArrayKlassHandle:Lsun/jvm/hotspot/debugger/Address;
        10: .line 89
            aload 0 /* this */
            new sun.jvm.hotspot.oops.TypeArrayKlass
            dup
            aload 0 /* this */
            getfield sun.jvm.hotspot.oops.ObjectHeap.shortArrayKlassHandle:Lsun/jvm/hotspot/debugger/Address;
            invokespecial sun.jvm.hotspot.oops.TypeArrayKlass.<init>:(Lsun/jvm/hotspot/debugger/Address;)V
            putfield sun.jvm.hotspot.oops.ObjectHeap.shortArrayKlassObj:Lsun/jvm/hotspot/oops/TypeArrayKlass;
        11: .line 91
            aload 0 /* this */
            aload 2 /* universeType */
            ldc "_longArrayKlassObj"
            invokeinterface sun.jvm.hotspot.types.Type.getAddressField:(Ljava/lang/String;)Lsun/jvm/hotspot/types/AddressField;
            invokeinterface sun.jvm.hotspot.types.AddressField.getValue:()Lsun/jvm/hotspot/debugger/Address;
            putfield sun.jvm.hotspot.oops.ObjectHeap.longArrayKlassHandle:Lsun/jvm/hotspot/debugger/Address;
        12: .line 92
            aload 0 /* this */
            new sun.jvm.hotspot.oops.TypeArrayKlass
            dup
            aload 0 /* this */
            getfield sun.jvm.hotspot.oops.ObjectHeap.longArrayKlassHandle:Lsun/jvm/hotspot/debugger/Address;
            invokespecial sun.jvm.hotspot.oops.TypeArrayKlass.<init>:(Lsun/jvm/hotspot/debugger/Address;)V
            putfield sun.jvm.hotspot.oops.ObjectHeap.longArrayKlassObj:Lsun/jvm/hotspot/oops/TypeArrayKlass;
        13: .line 94
            aload 0 /* this */
            aload 2 /* universeType */
            ldc "_singleArrayKlassObj"
            invokeinterface sun.jvm.hotspot.types.Type.getAddressField:(Ljava/lang/String;)Lsun/jvm/hotspot/types/AddressField;
            invokeinterface sun.jvm.hotspot.types.AddressField.getValue:()Lsun/jvm/hotspot/debugger/Address;
            putfield sun.jvm.hotspot.oops.ObjectHeap.singleArrayKlassHandle:Lsun/jvm/hotspot/debugger/Address;
        14: .line 95
            aload 0 /* this */
            new sun.jvm.hotspot.oops.TypeArrayKlass
            dup
            aload 0 /* this */
            getfield sun.jvm.hotspot.oops.ObjectHeap.singleArrayKlassHandle:Lsun/jvm/hotspot/debugger/Address;
            invokespecial sun.jvm.hotspot.oops.TypeArrayKlass.<init>:(Lsun/jvm/hotspot/debugger/Address;)V
            putfield sun.jvm.hotspot.oops.ObjectHeap.singleArrayKlassObj:Lsun/jvm/hotspot/oops/TypeArrayKlass;
        15: .line 97
            aload 0 /* this */
            aload 2 /* universeType */
            ldc "_doubleArrayKlassObj"
            invokeinterface sun.jvm.hotspot.types.Type.getAddressField:(Ljava/lang/String;)Lsun/jvm/hotspot/types/AddressField;
            invokeinterface sun.jvm.hotspot.types.AddressField.getValue:()Lsun/jvm/hotspot/debugger/Address;
            putfield sun.jvm.hotspot.oops.ObjectHeap.doubleArrayKlassHandle:Lsun/jvm/hotspot/debugger/Address;
        16: .line 98
            aload 0 /* this */
            new sun.jvm.hotspot.oops.TypeArrayKlass
            dup
            aload 0 /* this */
            getfield sun.jvm.hotspot.oops.ObjectHeap.doubleArrayKlassHandle:Lsun/jvm/hotspot/debugger/Address;
            invokespecial sun.jvm.hotspot.oops.TypeArrayKlass.<init>:(Lsun/jvm/hotspot/debugger/Address;)V
            putfield sun.jvm.hotspot.oops.ObjectHeap.doubleArrayKlassObj:Lsun/jvm/hotspot/oops/TypeArrayKlass;
        17: .line 99
            return
        end local 2 // sun.jvm.hotspot.types.Type universeType
        end local 1 // sun.jvm.hotspot.types.TypeDataBase db
        end local 0 // sun.jvm.hotspot.oops.ObjectHeap this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   18     0          this  Lsun/jvm/hotspot/oops/ObjectHeap;
            0   18     1            db  Lsun/jvm/hotspot/types/TypeDataBase;
            1   18     2  universeType  Lsun/jvm/hotspot/types/Type;
    Exceptions:
      throws sun.jvm.hotspot.types.WrongTypeException
    MethodParameters:
      Name  Flags
      db    

  public void <init>(sun.jvm.hotspot.types.TypeDataBase);
    descriptor: (Lsun/jvm/hotspot/types/TypeDataBase;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // sun.jvm.hotspot.oops.ObjectHeap this
        start local 1 // sun.jvm.hotspot.types.TypeDataBase db
         0: .line 101
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 103
            aload 0 /* this */
            invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
            invokevirtual sun.jvm.hotspot.runtime.VM.getOopSize:()J
            putfield sun.jvm.hotspot.oops.ObjectHeap.oopSize:J
         2: .line 104
            aload 0 /* this */
            aload 1 /* db */
            invokeinterface sun.jvm.hotspot.types.TypeDataBase.getJByteType:()Lsun/jvm/hotspot/types/Type;
            invokeinterface sun.jvm.hotspot.types.Type.getSize:()J
            putfield sun.jvm.hotspot.oops.ObjectHeap.byteSize:J
         3: .line 105
            aload 0 /* this */
            aload 1 /* db */
            invokeinterface sun.jvm.hotspot.types.TypeDataBase.getJCharType:()Lsun/jvm/hotspot/types/Type;
            invokeinterface sun.jvm.hotspot.types.Type.getSize:()J
            putfield sun.jvm.hotspot.oops.ObjectHeap.charSize:J
         4: .line 106
            aload 0 /* this */
            aload 1 /* db */
            invokeinterface sun.jvm.hotspot.types.TypeDataBase.getJBooleanType:()Lsun/jvm/hotspot/types/Type;
            invokeinterface sun.jvm.hotspot.types.Type.getSize:()J
            putfield sun.jvm.hotspot.oops.ObjectHeap.booleanSize:J
         5: .line 107
            aload 0 /* this */
            aload 1 /* db */
            invokeinterface sun.jvm.hotspot.types.TypeDataBase.getJIntType:()Lsun/jvm/hotspot/types/Type;
            invokeinterface sun.jvm.hotspot.types.Type.getSize:()J
            putfield sun.jvm.hotspot.oops.ObjectHeap.intSize:J
         6: .line 108
            aload 0 /* this */
            aload 1 /* db */
            invokeinterface sun.jvm.hotspot.types.TypeDataBase.getJShortType:()Lsun/jvm/hotspot/types/Type;
            invokeinterface sun.jvm.hotspot.types.Type.getSize:()J
            putfield sun.jvm.hotspot.oops.ObjectHeap.shortSize:J
         7: .line 109
            aload 0 /* this */
            aload 1 /* db */
            invokeinterface sun.jvm.hotspot.types.TypeDataBase.getJLongType:()Lsun/jvm/hotspot/types/Type;
            invokeinterface sun.jvm.hotspot.types.Type.getSize:()J
            putfield sun.jvm.hotspot.oops.ObjectHeap.longSize:J
         8: .line 110
            aload 0 /* this */
            aload 1 /* db */
            invokeinterface sun.jvm.hotspot.types.TypeDataBase.getJFloatType:()Lsun/jvm/hotspot/types/Type;
            invokeinterface sun.jvm.hotspot.types.Type.getSize:()J
            putfield sun.jvm.hotspot.oops.ObjectHeap.floatSize:J
         9: .line 111
            aload 0 /* this */
            aload 1 /* db */
            invokeinterface sun.jvm.hotspot.types.TypeDataBase.getJDoubleType:()Lsun/jvm/hotspot/types/Type;
            invokeinterface sun.jvm.hotspot.types.Type.getSize:()J
            putfield sun.jvm.hotspot.oops.ObjectHeap.doubleSize:J
        10: .line 113
            aload 0 /* this */
            aload 1 /* db */
            invokevirtual sun.jvm.hotspot.oops.ObjectHeap.initialize:(Lsun/jvm/hotspot/types/TypeDataBase;)V
        11: .line 114
            return
        end local 1 // sun.jvm.hotspot.types.TypeDataBase db
        end local 0 // sun.jvm.hotspot.oops.ObjectHeap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lsun/jvm/hotspot/oops/ObjectHeap;
            0   12     1    db  Lsun/jvm/hotspot/types/TypeDataBase;
    Exceptions:
      throws sun.jvm.hotspot.types.WrongTypeException
    MethodParameters:
      Name  Flags
      db    

  public boolean equal(sun.jvm.hotspot.oops.Oop, sun.jvm.hotspot.oops.Oop);
    descriptor: (Lsun/jvm/hotspot/oops/Oop;Lsun/jvm/hotspot/oops/Oop;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // sun.jvm.hotspot.oops.ObjectHeap this
        start local 1 // sun.jvm.hotspot.oops.Oop o1
        start local 2 // sun.jvm.hotspot.oops.Oop o2
         0: .line 118
            aload 1 /* o1 */
            ifnull 1
            aload 1 /* o1 */
            aload 2 /* o2 */
            invokevirtual sun.jvm.hotspot.oops.Oop.equals:(Ljava/lang/Object;)Z
            ireturn
         1: .line 119
      StackMap locals:
      StackMap stack:
            aload 2 /* o2 */
            ifnonnull 2
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         2: iconst_0
            ireturn
        end local 2 // sun.jvm.hotspot.oops.Oop o2
        end local 1 // sun.jvm.hotspot.oops.Oop o1
        end local 0 // sun.jvm.hotspot.oops.ObjectHeap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/jvm/hotspot/oops/ObjectHeap;
            0    3     1    o1  Lsun/jvm/hotspot/oops/Oop;
            0    3     2    o2  Lsun/jvm/hotspot/oops/Oop;
    MethodParameters:
      Name  Flags
      o1    
      o2    

  public long getOopSize();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.jvm.hotspot.oops.ObjectHeap this
         0: .line 133
            aload 0 /* this */
            getfield sun.jvm.hotspot.oops.ObjectHeap.oopSize:J
            lreturn
        end local 0 // sun.jvm.hotspot.oops.ObjectHeap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/jvm/hotspot/oops/ObjectHeap;

  public long getByteSize();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.jvm.hotspot.oops.ObjectHeap this
         0: .line 134
            aload 0 /* this */
            getfield sun.jvm.hotspot.oops.ObjectHeap.byteSize:J
            lreturn
        end local 0 // sun.jvm.hotspot.oops.ObjectHeap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/jvm/hotspot/oops/ObjectHeap;

  public long getCharSize();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.jvm.hotspot.oops.ObjectHeap this
         0: .line 135
            aload 0 /* this */
            getfield sun.jvm.hotspot.oops.ObjectHeap.charSize:J
            lreturn
        end local 0 // sun.jvm.hotspot.oops.ObjectHeap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/jvm/hotspot/oops/ObjectHeap;

  public long getBooleanSize();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.jvm.hotspot.oops.ObjectHeap this
         0: .line 136
            aload 0 /* this */
            getfield sun.jvm.hotspot.oops.ObjectHeap.booleanSize:J
            lreturn
        end local 0 // sun.jvm.hotspot.oops.ObjectHeap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/jvm/hotspot/oops/ObjectHeap;

  public long getIntSize();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.jvm.hotspot.oops.ObjectHeap this
         0: .line 137
            aload 0 /* this */
            getfield sun.jvm.hotspot.oops.ObjectHeap.intSize:J
            lreturn
        end local 0 // sun.jvm.hotspot.oops.ObjectHeap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/jvm/hotspot/oops/ObjectHeap;

  public long getShortSize();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.jvm.hotspot.oops.ObjectHeap this
         0: .line 138
            aload 0 /* this */
            getfield sun.jvm.hotspot.oops.ObjectHeap.shortSize:J
            lreturn
        end local 0 // sun.jvm.hotspot.oops.ObjectHeap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/jvm/hotspot/oops/ObjectHeap;

  public long getLongSize();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.jvm.hotspot.oops.ObjectHeap this
         0: .line 139
            aload 0 /* this */
            getfield sun.jvm.hotspot.oops.ObjectHeap.longSize:J
            lreturn
        end local 0 // sun.jvm.hotspot.oops.ObjectHeap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/jvm/hotspot/oops/ObjectHeap;

  public long getFloatSize();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.jvm.hotspot.oops.ObjectHeap this
         0: .line 140
            aload 0 /* this */
            getfield sun.jvm.hotspot.oops.ObjectHeap.floatSize:J
            lreturn
        end local 0 // sun.jvm.hotspot.oops.ObjectHeap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/jvm/hotspot/oops/ObjectHeap;

  public long getDoubleSize();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.jvm.hotspot.oops.ObjectHeap this
         0: .line 141
            aload 0 /* this */
            getfield sun.jvm.hotspot.oops.ObjectHeap.doubleSize:J
            lreturn
        end local 0 // sun.jvm.hotspot.oops.ObjectHeap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/jvm/hotspot/oops/ObjectHeap;

  public sun.jvm.hotspot.oops.TypeArrayKlass getBoolArrayKlassObj();
    descriptor: ()Lsun/jvm/hotspot/oops/TypeArrayKlass;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.jvm.hotspot.oops.ObjectHeap this
         0: .line 144
            aload 0 /* this */
            getfield sun.jvm.hotspot.oops.ObjectHeap.boolArrayKlassObj:Lsun/jvm/hotspot/oops/TypeArrayKlass;
            areturn
        end local 0 // sun.jvm.hotspot.oops.ObjectHeap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/jvm/hotspot/oops/ObjectHeap;

  public sun.jvm.hotspot.oops.TypeArrayKlass getByteArrayKlassObj();
    descriptor: ()Lsun/jvm/hotspot/oops/TypeArrayKlass;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.jvm.hotspot.oops.ObjectHeap this
         0: .line 145
            aload 0 /* this */
            getfield sun.jvm.hotspot.oops.ObjectHeap.byteArrayKlassObj:Lsun/jvm/hotspot/oops/TypeArrayKlass;
            areturn
        end local 0 // sun.jvm.hotspot.oops.ObjectHeap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/jvm/hotspot/oops/ObjectHeap;

  public sun.jvm.hotspot.oops.TypeArrayKlass getCharArrayKlassObj();
    descriptor: ()Lsun/jvm/hotspot/oops/TypeArrayKlass;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.jvm.hotspot.oops.ObjectHeap this
         0: .line 146
            aload 0 /* this */
            getfield sun.jvm.hotspot.oops.ObjectHeap.charArrayKlassObj:Lsun/jvm/hotspot/oops/TypeArrayKlass;
            areturn
        end local 0 // sun.jvm.hotspot.oops.ObjectHeap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/jvm/hotspot/oops/ObjectHeap;

  public sun.jvm.hotspot.oops.TypeArrayKlass getIntArrayKlassObj();
    descriptor: ()Lsun/jvm/hotspot/oops/TypeArrayKlass;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.jvm.hotspot.oops.ObjectHeap this
         0: .line 147
            aload 0 /* this */
            getfield sun.jvm.hotspot.oops.ObjectHeap.intArrayKlassObj:Lsun/jvm/hotspot/oops/TypeArrayKlass;
            areturn
        end local 0 // sun.jvm.hotspot.oops.ObjectHeap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/jvm/hotspot/oops/ObjectHeap;

  public sun.jvm.hotspot.oops.TypeArrayKlass getShortArrayKlassObj();
    descriptor: ()Lsun/jvm/hotspot/oops/TypeArrayKlass;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.jvm.hotspot.oops.ObjectHeap this
         0: .line 148
            aload 0 /* this */
            getfield sun.jvm.hotspot.oops.ObjectHeap.shortArrayKlassObj:Lsun/jvm/hotspot/oops/TypeArrayKlass;
            areturn
        end local 0 // sun.jvm.hotspot.oops.ObjectHeap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/jvm/hotspot/oops/ObjectHeap;

  public sun.jvm.hotspot.oops.TypeArrayKlass getLongArrayKlassObj();
    descriptor: ()Lsun/jvm/hotspot/oops/TypeArrayKlass;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.jvm.hotspot.oops.ObjectHeap this
         0: .line 149
            aload 0 /* this */
            getfield sun.jvm.hotspot.oops.ObjectHeap.longArrayKlassObj:Lsun/jvm/hotspot/oops/TypeArrayKlass;
            areturn
        end local 0 // sun.jvm.hotspot.oops.ObjectHeap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/jvm/hotspot/oops/ObjectHeap;

  public sun.jvm.hotspot.oops.TypeArrayKlass getSingleArrayKlassObj();
    descriptor: ()Lsun/jvm/hotspot/oops/TypeArrayKlass;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.jvm.hotspot.oops.ObjectHeap this
         0: .line 150
            aload 0 /* this */
            getfield sun.jvm.hotspot.oops.ObjectHeap.singleArrayKlassObj:Lsun/jvm/hotspot/oops/TypeArrayKlass;
            areturn
        end local 0 // sun.jvm.hotspot.oops.ObjectHeap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/jvm/hotspot/oops/ObjectHeap;

  public sun.jvm.hotspot.oops.TypeArrayKlass getDoubleArrayKlassObj();
    descriptor: ()Lsun/jvm/hotspot/oops/TypeArrayKlass;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.jvm.hotspot.oops.ObjectHeap this
         0: .line 151
            aload 0 /* this */
            getfield sun.jvm.hotspot.oops.ObjectHeap.doubleArrayKlassObj:Lsun/jvm/hotspot/oops/TypeArrayKlass;
            areturn
        end local 0 // sun.jvm.hotspot.oops.ObjectHeap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/jvm/hotspot/oops/ObjectHeap;

  public sun.jvm.hotspot.oops.Klass typeArrayKlassObj(int);
    descriptor: (I)Lsun/jvm/hotspot/oops/Klass;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // sun.jvm.hotspot.oops.ObjectHeap this
        start local 1 // int t
         0: .line 156
            iload 1 /* t */
            invokestatic sun.jvm.hotspot.runtime.BasicType.getTBoolean:()I
            if_icmpne 1
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.oops.ObjectHeap.getBoolArrayKlassObj:()Lsun/jvm/hotspot/oops/TypeArrayKlass;
            areturn
         1: .line 157
      StackMap locals:
      StackMap stack:
            iload 1 /* t */
            invokestatic sun.jvm.hotspot.runtime.BasicType.getTChar:()I
            if_icmpne 2
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.oops.ObjectHeap.getCharArrayKlassObj:()Lsun/jvm/hotspot/oops/TypeArrayKlass;
            areturn
         2: .line 158
      StackMap locals:
      StackMap stack:
            iload 1 /* t */
            invokestatic sun.jvm.hotspot.runtime.BasicType.getTFloat:()I
            if_icmpne 3
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.oops.ObjectHeap.getSingleArrayKlassObj:()Lsun/jvm/hotspot/oops/TypeArrayKlass;
            areturn
         3: .line 159
      StackMap locals:
      StackMap stack:
            iload 1 /* t */
            invokestatic sun.jvm.hotspot.runtime.BasicType.getTDouble:()I
            if_icmpne 4
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.oops.ObjectHeap.getDoubleArrayKlassObj:()Lsun/jvm/hotspot/oops/TypeArrayKlass;
            areturn
         4: .line 160
      StackMap locals:
      StackMap stack:
            iload 1 /* t */
            invokestatic sun.jvm.hotspot.runtime.BasicType.getTByte:()I
            if_icmpne 5
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.oops.ObjectHeap.getByteArrayKlassObj:()Lsun/jvm/hotspot/oops/TypeArrayKlass;
            areturn
         5: .line 161
      StackMap locals:
      StackMap stack:
            iload 1 /* t */
            invokestatic sun.jvm.hotspot.runtime.BasicType.getTShort:()I
            if_icmpne 6
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.oops.ObjectHeap.getShortArrayKlassObj:()Lsun/jvm/hotspot/oops/TypeArrayKlass;
            areturn
         6: .line 162
      StackMap locals:
      StackMap stack:
            iload 1 /* t */
            invokestatic sun.jvm.hotspot.runtime.BasicType.getTInt:()I
            if_icmpne 7
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.oops.ObjectHeap.getIntArrayKlassObj:()Lsun/jvm/hotspot/oops/TypeArrayKlass;
            areturn
         7: .line 163
      StackMap locals:
      StackMap stack:
            iload 1 /* t */
            invokestatic sun.jvm.hotspot.runtime.BasicType.getTLong:()I
            if_icmpne 8
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.oops.ObjectHeap.getLongArrayKlassObj:()Lsun/jvm/hotspot/oops/TypeArrayKlass;
            areturn
         8: .line 164
      StackMap locals:
      StackMap stack:
            new java.lang.RuntimeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Illegal basic type "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* t */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // int t
        end local 0 // sun.jvm.hotspot.oops.ObjectHeap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lsun/jvm/hotspot/oops/ObjectHeap;
            0    9     1     t  I
    MethodParameters:
      Name  Flags
      t     

  public void iterate(sun.jvm.hotspot.oops.HeapVisitor);
    descriptor: (Lsun/jvm/hotspot/oops/HeapVisitor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // sun.jvm.hotspot.oops.ObjectHeap this
        start local 1 // sun.jvm.hotspot.oops.HeapVisitor visitor
         0: .line 174
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.oops.ObjectHeap.collectLiveRegions:()Ljava/util/List;
            aload 1 /* visitor */
            aconst_null
            invokevirtual sun.jvm.hotspot.oops.ObjectHeap.iterateLiveRegions:(Ljava/util/List;Lsun/jvm/hotspot/oops/HeapVisitor;Lsun/jvm/hotspot/oops/ObjectHeap$ObjectFilter;)V
         1: .line 175
            return
        end local 1 // sun.jvm.hotspot.oops.HeapVisitor visitor
        end local 0 // sun.jvm.hotspot.oops.ObjectHeap this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lsun/jvm/hotspot/oops/ObjectHeap;
            0    2     1  visitor  Lsun/jvm/hotspot/oops/HeapVisitor;
    MethodParameters:
         Name  Flags
      visitor  

  public void iterate(sun.jvm.hotspot.oops.HeapVisitor, sun.jvm.hotspot.oops.ObjectHeap$ObjectFilter);
    descriptor: (Lsun/jvm/hotspot/oops/HeapVisitor;Lsun/jvm/hotspot/oops/ObjectHeap$ObjectFilter;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // sun.jvm.hotspot.oops.ObjectHeap this
        start local 1 // sun.jvm.hotspot.oops.HeapVisitor visitor
        start local 2 // sun.jvm.hotspot.oops.ObjectHeap$ObjectFilter of
         0: .line 179
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.oops.ObjectHeap.collectLiveRegions:()Ljava/util/List;
            aload 1 /* visitor */
            aload 2 /* of */
            invokevirtual sun.jvm.hotspot.oops.ObjectHeap.iterateLiveRegions:(Ljava/util/List;Lsun/jvm/hotspot/oops/HeapVisitor;Lsun/jvm/hotspot/oops/ObjectHeap$ObjectFilter;)V
         1: .line 180
            return
        end local 2 // sun.jvm.hotspot.oops.ObjectHeap$ObjectFilter of
        end local 1 // sun.jvm.hotspot.oops.HeapVisitor visitor
        end local 0 // sun.jvm.hotspot.oops.ObjectHeap this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lsun/jvm/hotspot/oops/ObjectHeap;
            0    2     1  visitor  Lsun/jvm/hotspot/oops/HeapVisitor;
            0    2     2       of  Lsun/jvm/hotspot/oops/ObjectHeap$ObjectFilter;
    MethodParameters:
         Name  Flags
      visitor  
      of       

  public void iterateObjectsOfKlass(sun.jvm.hotspot.oops.HeapVisitor, sun.jvm.hotspot.oops.Klass, boolean);
    descriptor: (Lsun/jvm/hotspot/oops/HeapVisitor;Lsun/jvm/hotspot/oops/Klass;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // sun.jvm.hotspot.oops.ObjectHeap this
        start local 1 // sun.jvm.hotspot.oops.HeapVisitor visitor
        start local 2 // sun.jvm.hotspot.oops.Klass k
        start local 3 // boolean includeSubtypes
         0: .line 185
            iload 3 /* includeSubtypes */
            ifeq 6
         1: .line 186
            aload 2 /* k */
            invokevirtual sun.jvm.hotspot.oops.Klass.isFinal:()Z
            ifeq 4
         2: .line 188
            aload 0 /* this */
            aload 1 /* visitor */
            aload 2 /* k */
            invokevirtual sun.jvm.hotspot.oops.ObjectHeap.iterateExact:(Lsun/jvm/hotspot/oops/HeapVisitor;Lsun/jvm/hotspot/oops/Klass;)V
         3: .line 189
            goto 8
         4: .line 190
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* visitor */
            aload 2 /* k */
            invokevirtual sun.jvm.hotspot.oops.ObjectHeap.iterateSubtypes:(Lsun/jvm/hotspot/oops/HeapVisitor;Lsun/jvm/hotspot/oops/Klass;)V
         5: .line 192
            goto 8
         6: .line 194
      StackMap locals:
      StackMap stack:
            aload 2 /* k */
            invokevirtual sun.jvm.hotspot.oops.Klass.isAbstract:()Z
            ifne 8
            aload 2 /* k */
            invokevirtual sun.jvm.hotspot.oops.Klass.isInterface:()Z
            ifne 8
         7: .line 195
            aload 0 /* this */
            aload 1 /* visitor */
            aload 2 /* k */
            invokevirtual sun.jvm.hotspot.oops.ObjectHeap.iterateExact:(Lsun/jvm/hotspot/oops/HeapVisitor;Lsun/jvm/hotspot/oops/Klass;)V
         8: .line 198
      StackMap locals:
      StackMap stack:
            return
        end local 3 // boolean includeSubtypes
        end local 2 // sun.jvm.hotspot.oops.Klass k
        end local 1 // sun.jvm.hotspot.oops.HeapVisitor visitor
        end local 0 // sun.jvm.hotspot.oops.ObjectHeap this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    9     0             this  Lsun/jvm/hotspot/oops/ObjectHeap;
            0    9     1          visitor  Lsun/jvm/hotspot/oops/HeapVisitor;
            0    9     2                k  Lsun/jvm/hotspot/oops/Klass;
            0    9     3  includeSubtypes  Z
    MethodParameters:
                 Name  Flags
      visitor          
      k                final
      includeSubtypes  

  public void iterateObjectsOfKlass(sun.jvm.hotspot.oops.HeapVisitor, sun.jvm.hotspot.oops.Klass);
    descriptor: (Lsun/jvm/hotspot/oops/HeapVisitor;Lsun/jvm/hotspot/oops/Klass;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // sun.jvm.hotspot.oops.ObjectHeap this
        start local 1 // sun.jvm.hotspot.oops.HeapVisitor visitor
        start local 2 // sun.jvm.hotspot.oops.Klass k
         0: .line 202
            aload 0 /* this */
            aload 1 /* visitor */
            aload 2 /* k */
            iconst_1
            invokevirtual sun.jvm.hotspot.oops.ObjectHeap.iterateObjectsOfKlass:(Lsun/jvm/hotspot/oops/HeapVisitor;Lsun/jvm/hotspot/oops/Klass;Z)V
         1: .line 203
            return
        end local 2 // sun.jvm.hotspot.oops.Klass k
        end local 1 // sun.jvm.hotspot.oops.HeapVisitor visitor
        end local 0 // sun.jvm.hotspot.oops.ObjectHeap this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lsun/jvm/hotspot/oops/ObjectHeap;
            0    2     1  visitor  Lsun/jvm/hotspot/oops/HeapVisitor;
            0    2     2        k  Lsun/jvm/hotspot/oops/Klass;
    MethodParameters:
         Name  Flags
      visitor  
      k        final

  public void iterateRaw(sun.jvm.hotspot.oops.RawHeapVisitor);
    descriptor: (Lsun/jvm/hotspot/oops/RawHeapVisitor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=8, args_size=2
        start local 0 // sun.jvm.hotspot.oops.ObjectHeap this
        start local 1 // sun.jvm.hotspot.oops.RawHeapVisitor visitor
         0: .line 209
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.oops.ObjectHeap.collectLiveRegions:()Ljava/util/List;
            astore 2 /* liveRegions */
        start local 2 // java.util.List liveRegions
         1: .line 212
            lconst_0
            lstore 3 /* totalSize */
        start local 3 // long totalSize
         2: .line 213
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         3: goto 8
         4: .line 214
      StackMap locals: java.util.List long int
      StackMap stack:
            aload 2 /* liveRegions */
            iload 5 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast sun.jvm.hotspot.debugger.Address
            astore 6 /* bottom */
        start local 6 // sun.jvm.hotspot.debugger.Address bottom
         5: .line 215
            aload 2 /* liveRegions */
            iload 5 /* i */
            iconst_1
            iadd
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast sun.jvm.hotspot.debugger.Address
            astore 7 /* top */
        start local 7 // sun.jvm.hotspot.debugger.Address top
         6: .line 216
            lload 3 /* totalSize */
            aload 7 /* top */
            aload 6 /* bottom */
            invokeinterface sun.jvm.hotspot.debugger.Address.minus:(Lsun/jvm/hotspot/debugger/Address;)J
            ladd
            lstore 3 /* totalSize */
        end local 7 // sun.jvm.hotspot.debugger.Address top
        end local 6 // sun.jvm.hotspot.debugger.Address bottom
         7: .line 213
            iinc 5 /* i */ 2
      StackMap locals:
      StackMap stack:
         8: iload 5 /* i */
            aload 2 /* liveRegions */
            invokeinterface java.util.List.size:()I
            if_icmplt 4
        end local 5 // int i
         9: .line 218
            aload 1 /* visitor */
            lload 3 /* totalSize */
            invokeinterface sun.jvm.hotspot.oops.RawHeapVisitor.prologue:(J)V
        10: .line 220
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        11: goto 19
        12: .line 221
      StackMap locals:
      StackMap stack:
            aload 2 /* liveRegions */
            iload 5 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast sun.jvm.hotspot.debugger.Address
            astore 6 /* bottom */
        start local 6 // sun.jvm.hotspot.debugger.Address bottom
        13: .line 222
            aload 2 /* liveRegions */
            iload 5 /* i */
            iconst_1
            iadd
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast sun.jvm.hotspot.debugger.Address
            astore 7 /* top */
        start local 7 // sun.jvm.hotspot.debugger.Address top
        14: .line 225
            goto 17
        15: .line 226
      StackMap locals: sun.jvm.hotspot.debugger.Address sun.jvm.hotspot.debugger.Address
      StackMap stack:
            aload 1 /* visitor */
            aload 6 /* bottom */
            invokeinterface sun.jvm.hotspot.oops.RawHeapVisitor.visitAddress:(Lsun/jvm/hotspot/debugger/Address;)V
        16: .line 227
            aload 6 /* bottom */
            invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
            invokevirtual sun.jvm.hotspot.runtime.VM.getAddressSize:()J
            invokeinterface sun.jvm.hotspot.debugger.Address.addOffsetTo:(J)Lsun/jvm/hotspot/debugger/Address;
            astore 6 /* bottom */
        17: .line 225
      StackMap locals:
      StackMap stack:
            aload 6 /* bottom */
            aload 7 /* top */
            invokeinterface sun.jvm.hotspot.debugger.Address.lessThan:(Lsun/jvm/hotspot/debugger/Address;)Z
            ifne 15
        end local 7 // sun.jvm.hotspot.debugger.Address top
        end local 6 // sun.jvm.hotspot.debugger.Address bottom
        18: .line 220
            iinc 5 /* i */ 2
      StackMap locals:
      StackMap stack:
        19: iload 5 /* i */
            aload 2 /* liveRegions */
            invokeinterface java.util.List.size:()I
            if_icmplt 12
        end local 5 // int i
        20: .line 231
            aload 1 /* visitor */
            invokeinterface sun.jvm.hotspot.oops.RawHeapVisitor.epilogue:()V
        21: .line 232
            return
        end local 3 // long totalSize
        end local 2 // java.util.List liveRegions
        end local 1 // sun.jvm.hotspot.oops.RawHeapVisitor visitor
        end local 0 // sun.jvm.hotspot.oops.ObjectHeap this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   22     0         this  Lsun/jvm/hotspot/oops/ObjectHeap;
            0   22     1      visitor  Lsun/jvm/hotspot/oops/RawHeapVisitor;
            1   22     2  liveRegions  Ljava/util/List;
            2   22     3    totalSize  J
            3    9     5            i  I
            5    7     6       bottom  Lsun/jvm/hotspot/debugger/Address;
            6    7     7          top  Lsun/jvm/hotspot/debugger/Address;
           11   20     5            i  I
           13   18     6       bottom  Lsun/jvm/hotspot/debugger/Address;
           14   18     7          top  Lsun/jvm/hotspot/debugger/Address;
    MethodParameters:
         Name  Flags
      visitor  

  public boolean isValidMethod(sun.jvm.hotspot.debugger.Address);
    descriptor: (Lsun/jvm/hotspot/debugger/Address;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // sun.jvm.hotspot.oops.ObjectHeap this
        start local 1 // sun.jvm.hotspot.debugger.Address handle
         0: .line 236
            aload 1 /* handle */
            invokestatic sun.jvm.hotspot.oops.Metadata.instantiateWrapperFor:(Lsun/jvm/hotspot/debugger/Address;)Lsun/jvm/hotspot/oops/Metadata;
            checkcast sun.jvm.hotspot.oops.Method
            pop
         1: .line 237
            iconst_1
            ireturn
         2: .line 238
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         3: .line 239
            iconst_0
            ireturn
        end local 1 // sun.jvm.hotspot.debugger.Address handle
        end local 0 // sun.jvm.hotspot.oops.ObjectHeap this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lsun/jvm/hotspot/oops/ObjectHeap;
            0    4     1  handle  Lsun/jvm/hotspot/debugger/Address;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.Exception
    MethodParameters:
        Name  Flags
      handle  

  public sun.jvm.hotspot.oops.Oop newOop(sun.jvm.hotspot.debugger.OopHandle);
    descriptor: (Lsun/jvm/hotspot/debugger/OopHandle;)Lsun/jvm/hotspot/oops/Oop;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // sun.jvm.hotspot.oops.ObjectHeap this
        start local 1 // sun.jvm.hotspot.debugger.OopHandle handle
         0: .line 251
            aload 1 /* handle */
            ifnonnull 1
            aconst_null
            areturn
         1: .line 254
      StackMap locals:
      StackMap stack:
            aload 1 /* handle */
            invokestatic sun.jvm.hotspot.oops.Oop.getKlassForOopHandle:(Lsun/jvm/hotspot/debugger/OopHandle;)Lsun/jvm/hotspot/oops/Klass;
            astore 2 /* klass */
        start local 2 // sun.jvm.hotspot.oops.Klass klass
         2: .line 255
            aload 2 /* klass */
            ifnull 6
         3: .line 256
            aload 2 /* klass */
            instanceof sun.jvm.hotspot.oops.TypeArrayKlass
            ifeq 4
            new sun.jvm.hotspot.oops.TypeArray
            dup
            aload 1 /* handle */
            aload 0 /* this */
            invokespecial sun.jvm.hotspot.oops.TypeArray.<init>:(Lsun/jvm/hotspot/debugger/OopHandle;Lsun/jvm/hotspot/oops/ObjectHeap;)V
            areturn
         4: .line 257
      StackMap locals: sun.jvm.hotspot.oops.Klass
      StackMap stack:
            aload 2 /* klass */
            instanceof sun.jvm.hotspot.oops.ObjArrayKlass
            ifeq 5
            new sun.jvm.hotspot.oops.ObjArray
            dup
            aload 1 /* handle */
            aload 0 /* this */
            invokespecial sun.jvm.hotspot.oops.ObjArray.<init>:(Lsun/jvm/hotspot/debugger/OopHandle;Lsun/jvm/hotspot/oops/ObjectHeap;)V
            areturn
         5: .line 258
      StackMap locals:
      StackMap stack:
            aload 2 /* klass */
            instanceof sun.jvm.hotspot.oops.InstanceKlass
            ifeq 6
            new sun.jvm.hotspot.oops.Instance
            dup
            aload 1 /* handle */
            aload 0 /* this */
            invokespecial sun.jvm.hotspot.oops.Instance.<init>:(Lsun/jvm/hotspot/debugger/OopHandle;Lsun/jvm/hotspot/oops/ObjectHeap;)V
            areturn
         6: .line 261
      StackMap locals:
      StackMap stack:
            getstatic sun.jvm.hotspot.oops.ObjectHeap.DEBUG:Z
            ifeq 9
         7: .line 262
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Unknown oop at "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* handle */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         8: .line 263
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Oop's klass is "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* klass */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         9: .line 266
      StackMap locals:
      StackMap stack:
            new sun.jvm.hotspot.oops.UnknownOopException
            dup
            invokespecial sun.jvm.hotspot.oops.UnknownOopException.<init>:()V
            athrow
        end local 2 // sun.jvm.hotspot.oops.Klass klass
        end local 1 // sun.jvm.hotspot.debugger.OopHandle handle
        end local 0 // sun.jvm.hotspot.oops.ObjectHeap this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    this  Lsun/jvm/hotspot/oops/ObjectHeap;
            0   10     1  handle  Lsun/jvm/hotspot/debugger/OopHandle;
            2   10     2   klass  Lsun/jvm/hotspot/oops/Klass;
    MethodParameters:
        Name  Flags
      handle  

  public void print();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // sun.jvm.hotspot.oops.ObjectHeap this
         0: .line 271
            new sun.jvm.hotspot.oops.HeapPrinter
            dup
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            invokespecial sun.jvm.hotspot.oops.HeapPrinter.<init>:(Ljava/io/PrintStream;)V
            astore 1 /* printer */
        start local 1 // sun.jvm.hotspot.oops.HeapPrinter printer
         1: .line 272
            aload 0 /* this */
            aload 1 /* printer */
            invokevirtual sun.jvm.hotspot.oops.ObjectHeap.iterate:(Lsun/jvm/hotspot/oops/HeapVisitor;)V
         2: .line 273
            return
        end local 1 // sun.jvm.hotspot.oops.HeapPrinter printer
        end local 0 // sun.jvm.hotspot.oops.ObjectHeap this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lsun/jvm/hotspot/oops/ObjectHeap;
            1    3     1  printer  Lsun/jvm/hotspot/oops/HeapPrinter;

  private void iterateExact(sun.jvm.hotspot.oops.HeapVisitor, sun.jvm.hotspot.oops.Klass);
    descriptor: (Lsun/jvm/hotspot/oops/HeapVisitor;Lsun/jvm/hotspot/oops/Klass;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=3, args_size=3
        start local 0 // sun.jvm.hotspot.oops.ObjectHeap this
        start local 1 // sun.jvm.hotspot.oops.HeapVisitor visitor
        start local 2 // sun.jvm.hotspot.oops.Klass k
         0: .line 280
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.oops.ObjectHeap.collectLiveRegions:()Ljava/util/List;
            aload 1 /* visitor */
            new sun.jvm.hotspot.oops.ObjectHeap$1
            dup
            aload 0 /* this */
            aload 2 /* k */
            invokespecial sun.jvm.hotspot.oops.ObjectHeap$1.<init>:(Lsun/jvm/hotspot/oops/ObjectHeap;Lsun/jvm/hotspot/oops/Klass;)V
            invokevirtual sun.jvm.hotspot.oops.ObjectHeap.iterateLiveRegions:(Ljava/util/List;Lsun/jvm/hotspot/oops/HeapVisitor;Lsun/jvm/hotspot/oops/ObjectHeap$ObjectFilter;)V
         1: .line 287
            return
        end local 2 // sun.jvm.hotspot.oops.Klass k
        end local 1 // sun.jvm.hotspot.oops.HeapVisitor visitor
        end local 0 // sun.jvm.hotspot.oops.ObjectHeap this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lsun/jvm/hotspot/oops/ObjectHeap;
            0    2     1  visitor  Lsun/jvm/hotspot/oops/HeapVisitor;
            0    2     2        k  Lsun/jvm/hotspot/oops/Klass;
    MethodParameters:
         Name  Flags
      visitor  
      k        final

  private void iterateSubtypes(sun.jvm.hotspot.oops.HeapVisitor, sun.jvm.hotspot.oops.Klass);
    descriptor: (Lsun/jvm/hotspot/oops/HeapVisitor;Lsun/jvm/hotspot/oops/Klass;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=3, args_size=3
        start local 0 // sun.jvm.hotspot.oops.ObjectHeap this
        start local 1 // sun.jvm.hotspot.oops.HeapVisitor visitor
        start local 2 // sun.jvm.hotspot.oops.Klass k
         0: .line 290
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.oops.ObjectHeap.collectLiveRegions:()Ljava/util/List;
            aload 1 /* visitor */
            new sun.jvm.hotspot.oops.ObjectHeap$2
            dup
            aload 0 /* this */
            aload 2 /* k */
            invokespecial sun.jvm.hotspot.oops.ObjectHeap$2.<init>:(Lsun/jvm/hotspot/oops/ObjectHeap;Lsun/jvm/hotspot/oops/Klass;)V
            invokevirtual sun.jvm.hotspot.oops.ObjectHeap.iterateLiveRegions:(Ljava/util/List;Lsun/jvm/hotspot/oops/HeapVisitor;Lsun/jvm/hotspot/oops/ObjectHeap$ObjectFilter;)V
         1: .line 297
            return
        end local 2 // sun.jvm.hotspot.oops.Klass k
        end local 1 // sun.jvm.hotspot.oops.HeapVisitor visitor
        end local 0 // sun.jvm.hotspot.oops.ObjectHeap this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lsun/jvm/hotspot/oops/ObjectHeap;
            0    2     1  visitor  Lsun/jvm/hotspot/oops/HeapVisitor;
            0    2     2        k  Lsun/jvm/hotspot/oops/Klass;
    MethodParameters:
         Name  Flags
      visitor  
      k        final

  private void iterateLiveRegions(java.util.List, sun.jvm.hotspot.oops.HeapVisitor, sun.jvm.hotspot.oops.ObjectHeap$ObjectFilter);
    descriptor: (Ljava/util/List;Lsun/jvm/hotspot/oops/HeapVisitor;Lsun/jvm/hotspot/oops/ObjectHeap$ObjectFilter;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=15, args_size=4
        start local 0 // sun.jvm.hotspot.oops.ObjectHeap this
        start local 1 // java.util.List liveRegions
        start local 2 // sun.jvm.hotspot.oops.HeapVisitor visitor
        start local 3 // sun.jvm.hotspot.oops.ObjectHeap$ObjectFilter of
         0: .line 301
            lconst_0
            lstore 4 /* totalSize */
        start local 4 // long totalSize
         1: .line 302
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         2: goto 7
         3: .line 303
      StackMap locals: long int
      StackMap stack:
            aload 1 /* liveRegions */
            iload 6 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast sun.jvm.hotspot.debugger.Address
            astore 7 /* bottom */
        start local 7 // sun.jvm.hotspot.debugger.Address bottom
         4: .line 304
            aload 1 /* liveRegions */
            iload 6 /* i */
            iconst_1
            iadd
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast sun.jvm.hotspot.debugger.Address
            astore 8 /* top */
        start local 8 // sun.jvm.hotspot.debugger.Address top
         5: .line 305
            lload 4 /* totalSize */
            aload 8 /* top */
            aload 7 /* bottom */
            invokeinterface sun.jvm.hotspot.debugger.Address.minus:(Lsun/jvm/hotspot/debugger/Address;)J
            ladd
            lstore 4 /* totalSize */
        end local 8 // sun.jvm.hotspot.debugger.Address top
        end local 7 // sun.jvm.hotspot.debugger.Address bottom
         6: .line 302
            iinc 6 /* i */ 2
      StackMap locals:
      StackMap stack:
         7: iload 6 /* i */
            aload 1 /* liveRegions */
            invokeinterface java.util.List.size:()I
            if_icmplt 3
        end local 6 // int i
         8: .line 307
            aload 2 /* visitor */
            lload 4 /* totalSize */
            invokeinterface sun.jvm.hotspot.oops.HeapVisitor.prologue:(J)V
         9: .line 309
            aconst_null
            astore 6 /* cmsSpaceOld */
        start local 6 // sun.jvm.hotspot.gc.cms.CompactibleFreeListSpace cmsSpaceOld
        10: .line 310
            invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
            invokevirtual sun.jvm.hotspot.runtime.VM.getUniverse:()Lsun/jvm/hotspot/memory/Universe;
            invokevirtual sun.jvm.hotspot.memory.Universe.heap:()Lsun/jvm/hotspot/gc/shared/CollectedHeap;
            astore 7 /* heap */
        start local 7 // sun.jvm.hotspot.gc.shared.CollectedHeap heap
        11: .line 312
            aload 7 /* heap */
            instanceof sun.jvm.hotspot.gc.shared.GenCollectedHeap
            ifeq 17
        12: .line 313
            aload 7 /* heap */
            checkcast sun.jvm.hotspot.gc.shared.GenCollectedHeap
            astore 8 /* genHeap */
        start local 8 // sun.jvm.hotspot.gc.shared.GenCollectedHeap genHeap
        13: .line 314
            aload 8 /* genHeap */
            iconst_1
            invokevirtual sun.jvm.hotspot.gc.shared.GenCollectedHeap.getGen:(I)Lsun/jvm/hotspot/gc/shared/Generation;
            astore 9 /* genOld */
        start local 9 // sun.jvm.hotspot.gc.shared.Generation genOld
        14: .line 315
            aload 9 /* genOld */
            instanceof sun.jvm.hotspot.gc.cms.ConcurrentMarkSweepGeneration
            ifeq 17
        15: .line 316
            aload 9 /* genOld */
            checkcast sun.jvm.hotspot.gc.cms.ConcurrentMarkSweepGeneration
            astore 10 /* concGen */
        start local 10 // sun.jvm.hotspot.gc.cms.ConcurrentMarkSweepGeneration concGen
        16: .line 317
            aload 10 /* concGen */
            invokevirtual sun.jvm.hotspot.gc.cms.ConcurrentMarkSweepGeneration.cmsSpace:()Lsun/jvm/hotspot/gc/cms/CompactibleFreeListSpace;
            astore 6 /* cmsSpaceOld */
        end local 10 // sun.jvm.hotspot.gc.cms.ConcurrentMarkSweepGeneration concGen
        end local 9 // sun.jvm.hotspot.gc.shared.Generation genOld
        end local 8 // sun.jvm.hotspot.gc.shared.GenCollectedHeap genHeap
        17: .line 321
      StackMap locals: sun.jvm.hotspot.oops.ObjectHeap java.util.List sun.jvm.hotspot.oops.HeapVisitor sun.jvm.hotspot.oops.ObjectHeap$ObjectFilter long sun.jvm.hotspot.gc.cms.CompactibleFreeListSpace sun.jvm.hotspot.gc.shared.CollectedHeap
      StackMap stack:
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        18: goto 49
        19: .line 322
      StackMap locals: int
      StackMap stack:
            aload 1 /* liveRegions */
            iload 8 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast sun.jvm.hotspot.debugger.Address
            astore 9 /* bottom */
        start local 9 // sun.jvm.hotspot.debugger.Address bottom
        20: .line 323
            aload 1 /* liveRegions */
            iload 8 /* i */
            iconst_1
            iadd
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast sun.jvm.hotspot.debugger.Address
            astore 10 /* top */
        start local 10 // sun.jvm.hotspot.debugger.Address top
        21: .line 327
            aload 9 /* bottom */
            lconst_0
            invokeinterface sun.jvm.hotspot.debugger.Address.addOffsetToAsOopHandle:(J)Lsun/jvm/hotspot/debugger/OopHandle;
            astore 11 /* handle */
        start local 11 // sun.jvm.hotspot.debugger.OopHandle handle
        22: .line 329
            goto 44
        23: .line 330
      StackMap locals: sun.jvm.hotspot.debugger.Address sun.jvm.hotspot.debugger.Address sun.jvm.hotspot.debugger.OopHandle
      StackMap stack:
            aconst_null
            astore 12 /* obj */
        start local 12 // sun.jvm.hotspot.oops.Oop obj
        24: .line 333
            aload 0 /* this */
            aload 11 /* handle */
            invokevirtual sun.jvm.hotspot.oops.ObjectHeap.newOop:(Lsun/jvm/hotspot/debugger/OopHandle;)Lsun/jvm/hotspot/oops/Oop;
            astore 12 /* obj */
        25: .line 334
            goto 29
      StackMap locals: sun.jvm.hotspot.oops.ObjectHeap java.util.List sun.jvm.hotspot.oops.HeapVisitor sun.jvm.hotspot.oops.ObjectHeap$ObjectFilter long sun.jvm.hotspot.gc.cms.CompactibleFreeListSpace sun.jvm.hotspot.gc.shared.CollectedHeap int sun.jvm.hotspot.debugger.Address sun.jvm.hotspot.debugger.Address sun.jvm.hotspot.debugger.OopHandle sun.jvm.hotspot.oops.Oop
      StackMap stack: sun.jvm.hotspot.oops.UnknownOopException
        26: astore 13 /* exp */
        start local 13 // sun.jvm.hotspot.oops.UnknownOopException exp
        27: .line 335
            getstatic sun.jvm.hotspot.oops.ObjectHeap.DEBUG:Z
            ifeq 29
        28: .line 336
            new java.lang.RuntimeException
            dup
            new java.lang.StringBuilder
            dup
            ldc " UnknownOopException  "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 13 /* exp */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 13 // sun.jvm.hotspot.oops.UnknownOopException exp
        29: .line 339
      StackMap locals:
      StackMap stack:
            aload 12 /* obj */
            ifnonnull 37
        30: .line 341
            lconst_0
            lstore 13 /* size */
        start local 13 // long size
        31: .line 343
            aload 6 /* cmsSpaceOld */
            ifnull 33
            aload 6 /* cmsSpaceOld */
            aload 11 /* handle */
            invokevirtual sun.jvm.hotspot.gc.cms.CompactibleFreeListSpace.contains:(Lsun/jvm/hotspot/debugger/Address;)Z
            ifeq 33
        32: .line 344
            aload 6 /* cmsSpaceOld */
            invokevirtual sun.jvm.hotspot.gc.cms.CompactibleFreeListSpace.collector:()Lsun/jvm/hotspot/gc/cms/CMSCollector;
            aload 11 /* handle */
            invokevirtual sun.jvm.hotspot.gc.cms.CMSCollector.blockSizeUsingPrintezisBits:(Lsun/jvm/hotspot/debugger/Address;)J
            lstore 13 /* size */
        33: .line 347
      StackMap locals: long
      StackMap stack:
            lload 13 /* size */
            lconst_0
            lcmp
            ifgt 35
        34: .line 349
            new sun.jvm.hotspot.oops.UnknownOopException
            dup
            invokespecial sun.jvm.hotspot.oops.UnknownOopException.<init>:()V
            athrow
        35: .line 352
      StackMap locals:
      StackMap stack:
            aload 11 /* handle */
            lload 13 /* size */
            invokestatic sun.jvm.hotspot.gc.cms.CompactibleFreeListSpace.adjustObjectSizeInBytes:(J)J
            invokeinterface sun.jvm.hotspot.debugger.OopHandle.addOffsetToAsOopHandle:(J)Lsun/jvm/hotspot/debugger/OopHandle;
            astore 11 /* handle */
        36: .line 353
            goto 44
        end local 13 // long size
        37: .line 355
      StackMap locals:
      StackMap stack:
            aload 3 /* of */
            ifnull 38
            aload 3 /* of */
            aload 12 /* obj */
            invokeinterface sun.jvm.hotspot.oops.ObjectHeap$ObjectFilter.canInclude:(Lsun/jvm/hotspot/oops/Oop;)Z
            ifeq 40
        38: .line 356
      StackMap locals:
      StackMap stack:
            aload 2 /* visitor */
            aload 12 /* obj */
            invokeinterface sun.jvm.hotspot.oops.HeapVisitor.doObj:(Lsun/jvm/hotspot/oops/Oop;)Z
            ifeq 40
        39: .line 358
            goto 48
        40: .line 361
      StackMap locals:
      StackMap stack:
            aload 6 /* cmsSpaceOld */
            ifnull 43
            aload 6 /* cmsSpaceOld */
            aload 11 /* handle */
            invokevirtual sun.jvm.hotspot.gc.cms.CompactibleFreeListSpace.contains:(Lsun/jvm/hotspot/debugger/Address;)Z
            ifeq 43
        41: .line 362
            aload 11 /* handle */
            aload 12 /* obj */
            invokevirtual sun.jvm.hotspot.oops.Oop.getObjectSize:()J
            invokestatic sun.jvm.hotspot.gc.cms.CompactibleFreeListSpace.adjustObjectSizeInBytes:(J)J
            invokeinterface sun.jvm.hotspot.debugger.OopHandle.addOffsetToAsOopHandle:(J)Lsun/jvm/hotspot/debugger/OopHandle;
            astore 11 /* handle */
        42: .line 363
            goto 44
        43: .line 364
      StackMap locals:
      StackMap stack:
            aload 11 /* handle */
            aload 12 /* obj */
            invokevirtual sun.jvm.hotspot.oops.Oop.getObjectSize:()J
            invokeinterface sun.jvm.hotspot.debugger.OopHandle.addOffsetToAsOopHandle:(J)Lsun/jvm/hotspot/debugger/OopHandle;
            astore 11 /* handle */
        end local 12 // sun.jvm.hotspot.oops.Oop obj
        44: .line 329
      StackMap locals:
      StackMap stack:
            aload 11 /* handle */
            aload 10 /* top */
            invokeinterface sun.jvm.hotspot.debugger.OopHandle.lessThan:(Lsun/jvm/hotspot/debugger/Address;)Z
            ifne 23
        end local 11 // sun.jvm.hotspot.debugger.OopHandle handle
        45: .line 367
            goto 48
        46: .line 368
      StackMap locals: sun.jvm.hotspot.oops.ObjectHeap java.util.List sun.jvm.hotspot.oops.HeapVisitor sun.jvm.hotspot.oops.ObjectHeap$ObjectFilter long sun.jvm.hotspot.gc.cms.CompactibleFreeListSpace sun.jvm.hotspot.gc.shared.CollectedHeap int sun.jvm.hotspot.debugger.Address sun.jvm.hotspot.debugger.Address
      StackMap stack: sun.jvm.hotspot.debugger.AddressException
            pop
            goto 48
        47: .line 371
      StackMap locals:
      StackMap stack: sun.jvm.hotspot.oops.UnknownOopException
            pop
        end local 10 // sun.jvm.hotspot.debugger.Address top
        end local 9 // sun.jvm.hotspot.debugger.Address bottom
        48: .line 321
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 2
      StackMap locals:
      StackMap stack:
        49: iload 8 /* i */
            aload 1 /* liveRegions */
            invokeinterface java.util.List.size:()I
            if_icmplt 19
        end local 8 // int i
        50: .line 376
            aload 2 /* visitor */
            invokeinterface sun.jvm.hotspot.oops.HeapVisitor.epilogue:()V
        51: .line 377
            return
        end local 7 // sun.jvm.hotspot.gc.shared.CollectedHeap heap
        end local 6 // sun.jvm.hotspot.gc.cms.CompactibleFreeListSpace cmsSpaceOld
        end local 4 // long totalSize
        end local 3 // sun.jvm.hotspot.oops.ObjectHeap$ObjectFilter of
        end local 2 // sun.jvm.hotspot.oops.HeapVisitor visitor
        end local 1 // java.util.List liveRegions
        end local 0 // sun.jvm.hotspot.oops.ObjectHeap this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   52     0         this  Lsun/jvm/hotspot/oops/ObjectHeap;
            0   52     1  liveRegions  Ljava/util/List;
            0   52     2      visitor  Lsun/jvm/hotspot/oops/HeapVisitor;
            0   52     3           of  Lsun/jvm/hotspot/oops/ObjectHeap$ObjectFilter;
            1   52     4    totalSize  J
            2    8     6            i  I
            4    6     7       bottom  Lsun/jvm/hotspot/debugger/Address;
            5    6     8          top  Lsun/jvm/hotspot/debugger/Address;
           10   52     6  cmsSpaceOld  Lsun/jvm/hotspot/gc/cms/CompactibleFreeListSpace;
           11   52     7         heap  Lsun/jvm/hotspot/gc/shared/CollectedHeap;
           13   17     8      genHeap  Lsun/jvm/hotspot/gc/shared/GenCollectedHeap;
           14   17     9       genOld  Lsun/jvm/hotspot/gc/shared/Generation;
           16   17    10      concGen  Lsun/jvm/hotspot/gc/cms/ConcurrentMarkSweepGeneration;
           18   50     8            i  I
           20   48     9       bottom  Lsun/jvm/hotspot/debugger/Address;
           21   48    10          top  Lsun/jvm/hotspot/debugger/Address;
           22   45    11       handle  Lsun/jvm/hotspot/debugger/OopHandle;
           24   44    12          obj  Lsun/jvm/hotspot/oops/Oop;
           27   29    13          exp  Lsun/jvm/hotspot/oops/UnknownOopException;
           31   37    13         size  J
      Exception table:
        from    to  target  type
          24    25      26  Class sun.jvm.hotspot.oops.UnknownOopException
          21    45      46  Class sun.jvm.hotspot.debugger.AddressException
          21    45      47  Class sun.jvm.hotspot.oops.UnknownOopException
    MethodParameters:
             Name  Flags
      liveRegions  
      visitor      
      of           

  private void addLiveRegions(java.lang.String, java.util.List, java.util.List);
    descriptor: (Ljava/lang/String;Ljava/util/List;Ljava/util/List;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=8, args_size=4
        start local 0 // sun.jvm.hotspot.oops.ObjectHeap this
        start local 1 // java.lang.String name
        start local 2 // java.util.List input
        start local 3 // java.util.List output
         0: .line 380
            aload 2 /* input */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4 /* itr */
        start local 4 // java.util.Iterator itr
         1: goto 17
         2: .line 381
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 4 /* itr */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.jvm.hotspot.memory.MemRegion
            astore 5 /* reg */
        start local 5 // sun.jvm.hotspot.memory.MemRegion reg
         3: .line 382
            aload 5 /* reg */
            invokevirtual sun.jvm.hotspot.memory.MemRegion.end:()Lsun/jvm/hotspot/debugger/Address;
            astore 6 /* top */
        start local 6 // sun.jvm.hotspot.debugger.Address top
         4: .line 383
            aload 5 /* reg */
            invokevirtual sun.jvm.hotspot.memory.MemRegion.start:()Lsun/jvm/hotspot/debugger/Address;
            astore 7 /* bottom */
        start local 7 // sun.jvm.hotspot.debugger.Address bottom
         5: .line 384
            getstatic sun.jvm.hotspot.utilities.Assert.ASSERTS_ENABLED:Z
            ifeq 9
         6: .line 385
            aload 6 /* top */
            ifnull 7
            iconst_1
            goto 8
      StackMap locals: sun.jvm.hotspot.memory.MemRegion sun.jvm.hotspot.debugger.Address sun.jvm.hotspot.debugger.Address
      StackMap stack:
         7: iconst_0
      StackMap locals:
      StackMap stack: int
         8: ldc "top address in a live region should not be null"
            invokestatic sun.jvm.hotspot.utilities.Assert.that:(ZLjava/lang/String;)V
         9: .line 387
      StackMap locals:
      StackMap stack:
            getstatic sun.jvm.hotspot.utilities.Assert.ASSERTS_ENABLED:Z
            ifeq 13
        10: .line 388
            aload 7 /* bottom */
            ifnull 11
            iconst_1
            goto 12
      StackMap locals:
      StackMap stack:
        11: iconst_0
      StackMap locals:
      StackMap stack: int
        12: ldc "bottom address in a live region should not be null"
            invokestatic sun.jvm.hotspot.utilities.Assert.that:(ZLjava/lang/String;)V
        13: .line 390
      StackMap locals:
      StackMap stack:
            aload 3 /* output */
            aload 6 /* top */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        14: .line 391
            aload 3 /* output */
            aload 7 /* bottom */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        15: .line 392
            getstatic sun.jvm.hotspot.oops.ObjectHeap.DEBUG:Z
            ifeq 17
        16: .line 393
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Live region: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 7 /* bottom */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* top */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 7 // sun.jvm.hotspot.debugger.Address bottom
        end local 6 // sun.jvm.hotspot.debugger.Address top
        end local 5 // sun.jvm.hotspot.memory.MemRegion reg
        17: .line 380
      StackMap locals:
      StackMap stack:
            aload 4 /* itr */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        end local 4 // java.util.Iterator itr
        18: .line 396
            return
        end local 3 // java.util.List output
        end local 2 // java.util.List input
        end local 1 // java.lang.String name
        end local 0 // sun.jvm.hotspot.oops.ObjectHeap this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   19     0    this  Lsun/jvm/hotspot/oops/ObjectHeap;
            0   19     1    name  Ljava/lang/String;
            0   19     2   input  Ljava/util/List;
            0   19     3  output  Ljava/util/List;
            1   18     4     itr  Ljava/util/Iterator;
            3   17     5     reg  Lsun/jvm/hotspot/memory/MemRegion;
            4   17     6     top  Lsun/jvm/hotspot/debugger/Address;
            5   17     7  bottom  Lsun/jvm/hotspot/debugger/Address;
    MethodParameters:
        Name  Flags
      name    
      input   
      output  

  private java.util.List collectLiveRegions();
    descriptor: ()Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=1
        start local 0 // sun.jvm.hotspot.oops.ObjectHeap this
         0: .line 419
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* liveRegions */
        start local 1 // java.util.List liveRegions
         1: .line 420
            new sun.jvm.hotspot.oops.ObjectHeap$LiveRegionsCollector
            dup
            aload 0 /* this */
            aload 1 /* liveRegions */
            invokespecial sun.jvm.hotspot.oops.ObjectHeap$LiveRegionsCollector.<init>:(Lsun/jvm/hotspot/oops/ObjectHeap;Ljava/util/List;)V
            astore 2 /* lrc */
        start local 2 // sun.jvm.hotspot.oops.ObjectHeap$LiveRegionsCollector lrc
         2: .line 422
            invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
            invokevirtual sun.jvm.hotspot.runtime.VM.getUniverse:()Lsun/jvm/hotspot/memory/Universe;
            invokevirtual sun.jvm.hotspot.memory.Universe.heap:()Lsun/jvm/hotspot/gc/shared/CollectedHeap;
            astore 3 /* heap */
        start local 3 // sun.jvm.hotspot.gc.shared.CollectedHeap heap
         3: .line 424
            aload 3 /* heap */
            instanceof sun.jvm.hotspot.gc.shared.GenCollectedHeap
            ifeq 12
         4: .line 425
            aload 3 /* heap */
            checkcast sun.jvm.hotspot.gc.shared.GenCollectedHeap
            astore 4 /* genHeap */
        start local 4 // sun.jvm.hotspot.gc.shared.GenCollectedHeap genHeap
         5: .line 427
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         6: goto 10
         7: .line 428
      StackMap locals: sun.jvm.hotspot.oops.ObjectHeap java.util.List sun.jvm.hotspot.oops.ObjectHeap$LiveRegionsCollector sun.jvm.hotspot.gc.shared.CollectedHeap sun.jvm.hotspot.gc.shared.GenCollectedHeap int
      StackMap stack:
            aload 4 /* genHeap */
            iload 5 /* i */
            invokevirtual sun.jvm.hotspot.gc.shared.GenCollectedHeap.getGen:(I)Lsun/jvm/hotspot/gc/shared/Generation;
            astore 6 /* gen */
        start local 6 // sun.jvm.hotspot.gc.shared.Generation gen
         8: .line 429
            aload 6 /* gen */
            aload 2 /* lrc */
            iconst_1
            invokevirtual sun.jvm.hotspot.gc.shared.Generation.spaceIterate:(Lsun/jvm/hotspot/gc/shared/SpaceClosure;Z)V
        end local 6 // sun.jvm.hotspot.gc.shared.Generation gen
         9: .line 427
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 5 /* i */
            aload 4 /* genHeap */
            invokevirtual sun.jvm.hotspot.gc.shared.GenCollectedHeap.nGens:()I
            if_icmplt 7
        end local 5 // int i
        end local 4 // sun.jvm.hotspot.gc.shared.GenCollectedHeap genHeap
        11: .line 431
            goto 34
      StackMap locals:
      StackMap stack:
        12: aload 3 /* heap */
            instanceof sun.jvm.hotspot.gc.parallel.ParallelScavengeHeap
            ifeq 20
        13: .line 432
            aload 3 /* heap */
            checkcast sun.jvm.hotspot.gc.parallel.ParallelScavengeHeap
            astore 4 /* psh */
        start local 4 // sun.jvm.hotspot.gc.parallel.ParallelScavengeHeap psh
        14: .line 433
            aload 4 /* psh */
            invokevirtual sun.jvm.hotspot.gc.parallel.ParallelScavengeHeap.youngGen:()Lsun/jvm/hotspot/gc/parallel/PSYoungGen;
            astore 5 /* youngGen */
        start local 5 // sun.jvm.hotspot.gc.parallel.PSYoungGen youngGen
        15: .line 435
            aload 0 /* this */
            ldc "eden"
            aload 5 /* youngGen */
            invokevirtual sun.jvm.hotspot.gc.parallel.PSYoungGen.edenSpace:()Lsun/jvm/hotspot/gc/parallel/MutableSpace;
            invokevirtual sun.jvm.hotspot.gc.parallel.MutableSpace.getLiveRegions:()Ljava/util/List;
            aload 1 /* liveRegions */
            invokevirtual sun.jvm.hotspot.oops.ObjectHeap.addLiveRegions:(Ljava/lang/String;Ljava/util/List;Ljava/util/List;)V
        16: .line 437
            aload 0 /* this */
            ldc "from"
            aload 5 /* youngGen */
            invokevirtual sun.jvm.hotspot.gc.parallel.PSYoungGen.fromSpace:()Lsun/jvm/hotspot/gc/parallel/MutableSpace;
            invokevirtual sun.jvm.hotspot.gc.parallel.MutableSpace.getLiveRegions:()Ljava/util/List;
            aload 1 /* liveRegions */
            invokevirtual sun.jvm.hotspot.oops.ObjectHeap.addLiveRegions:(Ljava/lang/String;Ljava/util/List;Ljava/util/List;)V
        17: .line 438
            aload 4 /* psh */
            invokevirtual sun.jvm.hotspot.gc.parallel.ParallelScavengeHeap.oldGen:()Lsun/jvm/hotspot/gc/parallel/PSOldGen;
            astore 6 /* oldGen */
        start local 6 // sun.jvm.hotspot.gc.parallel.PSOldGen oldGen
        18: .line 439
            aload 0 /* this */
            ldc "old "
            aload 6 /* oldGen */
            invokevirtual sun.jvm.hotspot.gc.parallel.PSOldGen.objectSpace:()Lsun/jvm/hotspot/gc/parallel/MutableSpace;
            invokevirtual sun.jvm.hotspot.gc.parallel.MutableSpace.getLiveRegions:()Ljava/util/List;
            aload 1 /* liveRegions */
            invokevirtual sun.jvm.hotspot.oops.ObjectHeap.addLiveRegions:(Ljava/lang/String;Ljava/util/List;Ljava/util/List;)V
        end local 6 // sun.jvm.hotspot.gc.parallel.PSOldGen oldGen
        end local 5 // sun.jvm.hotspot.gc.parallel.PSYoungGen youngGen
        end local 4 // sun.jvm.hotspot.gc.parallel.ParallelScavengeHeap psh
        19: .line 440
            goto 34
      StackMap locals:
      StackMap stack:
        20: aload 3 /* heap */
            instanceof sun.jvm.hotspot.gc.g1.G1CollectedHeap
            ifeq 24
        21: .line 441
            aload 3 /* heap */
            checkcast sun.jvm.hotspot.gc.g1.G1CollectedHeap
            astore 4 /* g1h */
        start local 4 // sun.jvm.hotspot.gc.g1.G1CollectedHeap g1h
        22: .line 442
            aload 4 /* g1h */
            aload 2 /* lrc */
            invokevirtual sun.jvm.hotspot.gc.g1.G1CollectedHeap.heapRegionIterate:(Lsun/jvm/hotspot/gc/shared/SpaceClosure;)V
        end local 4 // sun.jvm.hotspot.gc.g1.G1CollectedHeap g1h
        23: .line 443
            goto 34
      StackMap locals:
      StackMap stack:
        24: aload 3 /* heap */
            instanceof sun.jvm.hotspot.gc.shenandoah.ShenandoahHeap
            ifeq 27
        25: .line 446
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            ldc "Warning: Operation not supported with Shenandoah GC"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        26: .line 447
            goto 34
      StackMap locals:
      StackMap stack:
        27: aload 3 /* heap */
            instanceof sun.jvm.hotspot.gc.epsilon.EpsilonHeap
            ifeq 32
        28: .line 448
            aload 3 /* heap */
            checkcast sun.jvm.hotspot.gc.epsilon.EpsilonHeap
            astore 4 /* eh */
        start local 4 // sun.jvm.hotspot.gc.epsilon.EpsilonHeap eh
        29: .line 449
            aload 1 /* liveRegions */
            aload 4 /* eh */
            invokevirtual sun.jvm.hotspot.gc.epsilon.EpsilonHeap.space:()Lsun/jvm/hotspot/gc/shared/ContiguousSpace;
            invokevirtual sun.jvm.hotspot.gc.shared.ContiguousSpace.top:()Lsun/jvm/hotspot/debugger/Address;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        30: .line 450
            aload 1 /* liveRegions */
            aload 4 /* eh */
            invokevirtual sun.jvm.hotspot.gc.epsilon.EpsilonHeap.space:()Lsun/jvm/hotspot/gc/shared/ContiguousSpace;
            invokevirtual sun.jvm.hotspot.gc.shared.ContiguousSpace.bottom:()Lsun/jvm/hotspot/debugger/Address;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // sun.jvm.hotspot.gc.epsilon.EpsilonHeap eh
        31: .line 451
            goto 34
        32: .line 452
      StackMap locals:
      StackMap stack:
            getstatic sun.jvm.hotspot.utilities.Assert.ASSERTS_ENABLED:Z
            ifeq 34
        33: .line 453
            iconst_0
            new java.lang.StringBuilder
            dup
            ldc "Unexpected CollectedHeap type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* heap */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic sun.jvm.hotspot.utilities.Assert.that:(ZLjava/lang/String;)V
        34: .line 464
      StackMap locals:
      StackMap stack:
            invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
            invokevirtual sun.jvm.hotspot.runtime.VM.getUseTLAB:()Z
            ifeq 55
        35: .line 465
            invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
            invokevirtual sun.jvm.hotspot.runtime.VM.getThreads:()Lsun/jvm/hotspot/runtime/Threads;
            invokevirtual sun.jvm.hotspot.runtime.Threads.first:()Lsun/jvm/hotspot/runtime/JavaThread;
            astore 4 /* thread */
        start local 4 // sun.jvm.hotspot.runtime.JavaThread thread
        36: goto 54
        37: .line 466
      StackMap locals: sun.jvm.hotspot.runtime.JavaThread
      StackMap stack:
            aload 4 /* thread */
            invokevirtual sun.jvm.hotspot.runtime.JavaThread.tlab:()Lsun/jvm/hotspot/runtime/ThreadLocalAllocBuffer;
            astore 5 /* tlab */
        start local 5 // sun.jvm.hotspot.runtime.ThreadLocalAllocBuffer tlab
        38: .line 467
            aload 5 /* tlab */
            invokevirtual sun.jvm.hotspot.runtime.ThreadLocalAllocBuffer.start:()Lsun/jvm/hotspot/debugger/Address;
            ifnull 53
        39: .line 468
            aload 5 /* tlab */
            invokevirtual sun.jvm.hotspot.runtime.ThreadLocalAllocBuffer.top:()Lsun/jvm/hotspot/debugger/Address;
            ifnull 40
            aload 5 /* tlab */
            invokevirtual sun.jvm.hotspot.runtime.ThreadLocalAllocBuffer.end:()Lsun/jvm/hotspot/debugger/Address;
            ifnonnull 44
        40: .line 469
      StackMap locals: sun.jvm.hotspot.runtime.ThreadLocalAllocBuffer
      StackMap stack:
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            ldc "Warning: skipping invalid TLAB for thread "
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        41: .line 470
            aload 4 /* thread */
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual sun.jvm.hotspot.runtime.JavaThread.printThreadIDOn:(Ljava/io/PrintStream;)V
        42: .line 471
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
        43: .line 472
            goto 53
        44: .line 473
      StackMap locals:
      StackMap stack:
            getstatic sun.jvm.hotspot.oops.ObjectHeap.DEBUG:Z
            ifeq 49
        45: .line 474
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "TLAB for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* thread */
            invokevirtual sun.jvm.hotspot.runtime.JavaThread.getThreadName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ", #"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        46: .line 475
            aload 4 /* thread */
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual sun.jvm.hotspot.runtime.JavaThread.printThreadIDOn:(Ljava/io/PrintStream;)V
        47: .line 476
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            ldc ": "
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        48: .line 477
            aload 5 /* tlab */
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual sun.jvm.hotspot.runtime.ThreadLocalAllocBuffer.printOn:(Ljava/io/PrintStream;)V
        49: .line 483
      StackMap locals:
      StackMap stack:
            aload 1 /* liveRegions */
            aload 5 /* tlab */
            invokevirtual sun.jvm.hotspot.runtime.ThreadLocalAllocBuffer.start:()Lsun/jvm/hotspot/debugger/Address;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        50: .line 484
            aload 1 /* liveRegions */
            aload 5 /* tlab */
            invokevirtual sun.jvm.hotspot.runtime.ThreadLocalAllocBuffer.start:()Lsun/jvm/hotspot/debugger/Address;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        51: .line 485
            aload 1 /* liveRegions */
            aload 5 /* tlab */
            invokevirtual sun.jvm.hotspot.runtime.ThreadLocalAllocBuffer.top:()Lsun/jvm/hotspot/debugger/Address;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        52: .line 486
            aload 1 /* liveRegions */
            aload 5 /* tlab */
            invokevirtual sun.jvm.hotspot.runtime.ThreadLocalAllocBuffer.hardEnd:()Lsun/jvm/hotspot/debugger/Address;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 5 // sun.jvm.hotspot.runtime.ThreadLocalAllocBuffer tlab
        53: .line 465
      StackMap locals:
      StackMap stack:
            aload 4 /* thread */
            invokevirtual sun.jvm.hotspot.runtime.JavaThread.next:()Lsun/jvm/hotspot/runtime/JavaThread;
            astore 4 /* thread */
      StackMap locals:
      StackMap stack:
        54: aload 4 /* thread */
            ifnonnull 37
        end local 4 // sun.jvm.hotspot.runtime.JavaThread thread
        55: .line 493
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* liveRegions */
            invokevirtual sun.jvm.hotspot.oops.ObjectHeap.sortLiveRegions:(Ljava/util/List;)V
        56: .line 495
            getstatic sun.jvm.hotspot.utilities.Assert.ASSERTS_ENABLED:Z
            ifeq 60
        57: .line 496
            aload 1 /* liveRegions */
            invokeinterface java.util.List.size:()I
            iconst_2
            irem
            ifne 58
            iconst_1
            goto 59
      StackMap locals:
      StackMap stack:
        58: iconst_0
      StackMap locals:
      StackMap stack: int
        59: ldc "Must have even number of region boundaries"
            invokestatic sun.jvm.hotspot.utilities.Assert.that:(ZLjava/lang/String;)V
        60: .line 499
      StackMap locals:
      StackMap stack:
            getstatic sun.jvm.hotspot.oops.ObjectHeap.DEBUG:Z
            ifeq 69
        61: .line 500
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            ldc "liveRegions:"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        62: .line 501
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        63: goto 68
        64: .line 502
      StackMap locals: int
      StackMap stack:
            aload 1 /* liveRegions */
            iload 4 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast sun.jvm.hotspot.debugger.Address
            astore 5 /* bottom */
        start local 5 // sun.jvm.hotspot.debugger.Address bottom
        65: .line 503
            aload 1 /* liveRegions */
            iload 4 /* i */
            iconst_1
            iadd
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast sun.jvm.hotspot.debugger.Address
            astore 6 /* top */
        start local 6 // sun.jvm.hotspot.debugger.Address top
        66: .line 504
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc " "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* bottom */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " - "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* top */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 6 // sun.jvm.hotspot.debugger.Address top
        end local 5 // sun.jvm.hotspot.debugger.Address bottom
        67: .line 501
            iinc 4 /* i */ 2
      StackMap locals:
      StackMap stack:
        68: iload 4 /* i */
            aload 1 /* liveRegions */
            invokeinterface java.util.List.size:()I
            if_icmplt 64
        end local 4 // int i
        69: .line 508
      StackMap locals:
      StackMap stack:
            aload 1 /* liveRegions */
            areturn
        end local 3 // sun.jvm.hotspot.gc.shared.CollectedHeap heap
        end local 2 // sun.jvm.hotspot.oops.ObjectHeap$LiveRegionsCollector lrc
        end local 1 // java.util.List liveRegions
        end local 0 // sun.jvm.hotspot.oops.ObjectHeap this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   70     0         this  Lsun/jvm/hotspot/oops/ObjectHeap;
            1   70     1  liveRegions  Ljava/util/List;
            2   70     2          lrc  Lsun/jvm/hotspot/oops/ObjectHeap$LiveRegionsCollector;
            3   70     3         heap  Lsun/jvm/hotspot/gc/shared/CollectedHeap;
            5   11     4      genHeap  Lsun/jvm/hotspot/gc/shared/GenCollectedHeap;
            6   11     5            i  I
            8    9     6          gen  Lsun/jvm/hotspot/gc/shared/Generation;
           14   19     4          psh  Lsun/jvm/hotspot/gc/parallel/ParallelScavengeHeap;
           15   19     5     youngGen  Lsun/jvm/hotspot/gc/parallel/PSYoungGen;
           18   19     6       oldGen  Lsun/jvm/hotspot/gc/parallel/PSOldGen;
           22   23     4          g1h  Lsun/jvm/hotspot/gc/g1/G1CollectedHeap;
           29   31     4           eh  Lsun/jvm/hotspot/gc/epsilon/EpsilonHeap;
           36   55     4       thread  Lsun/jvm/hotspot/runtime/JavaThread;
           38   53     5         tlab  Lsun/jvm/hotspot/runtime/ThreadLocalAllocBuffer;
           63   69     4            i  I
           65   67     5       bottom  Lsun/jvm/hotspot/debugger/Address;
           66   67     6          top  Lsun/jvm/hotspot/debugger/Address;

  private void sortLiveRegions(java.util.List);
    descriptor: (Ljava/util/List;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // sun.jvm.hotspot.oops.ObjectHeap this
        start local 1 // java.util.List liveRegions
         0: .line 512
            aload 1 /* liveRegions */
            new sun.jvm.hotspot.oops.ObjectHeap$3
            dup
            aload 0 /* this */
            invokespecial sun.jvm.hotspot.oops.ObjectHeap$3.<init>:(Lsun/jvm/hotspot/oops/ObjectHeap;)V
            invokestatic java.util.Collections.sort:(Ljava/util/List;Ljava/util/Comparator;)V
         1: .line 524
            return
        end local 1 // java.util.List liveRegions
        end local 0 // sun.jvm.hotspot.oops.ObjectHeap this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lsun/jvm/hotspot/oops/ObjectHeap;
            0    2     1  liveRegions  Ljava/util/List;
    MethodParameters:
             Name  Flags
      liveRegions  
}
SourceFile: "ObjectHeap.java"
NestMembers:
  sun.jvm.hotspot.oops.ObjectHeap$1  sun.jvm.hotspot.oops.ObjectHeap$2  sun.jvm.hotspot.oops.ObjectHeap$3  sun.jvm.hotspot.oops.ObjectHeap$LiveRegionsCollector  sun.jvm.hotspot.oops.ObjectHeap$ObjectFilter
InnerClasses:
  sun.jvm.hotspot.oops.ObjectHeap$1
  sun.jvm.hotspot.oops.ObjectHeap$2
  sun.jvm.hotspot.oops.ObjectHeap$3
  private LiveRegionsCollector = sun.jvm.hotspot.oops.ObjectHeap$LiveRegionsCollector of sun.jvm.hotspot.oops.ObjectHeap
  public abstract ObjectFilter = sun.jvm.hotspot.oops.ObjectHeap$ObjectFilter of sun.jvm.hotspot.oops.ObjectHeap