public class sun.jvm.hotspot.oops.ObjArray extends sun.jvm.hotspot.oops.Array
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.jvm.hotspot.oops.ObjArray
  super_class: sun.jvm.hotspot.oops.Array
{
  private static long elementSize;
    descriptor: J
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 37
            new sun.jvm.hotspot.oops.ObjArray$1
            dup
            invokespecial sun.jvm.hotspot.oops.ObjArray$1.<init>:()V
            invokestatic sun.jvm.hotspot.runtime.VM.registerVMInitializedObserver:(Ljava/util/Observer;)V
         1: .line 55
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static synchronized void initialize(sun.jvm.hotspot.types.TypeDataBase);
    descriptor: (Lsun/jvm/hotspot/types/TypeDataBase;)V
    flags: (0x002a) ACC_PRIVATE, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.jvm.hotspot.types.TypeDataBase db
         0: .line 45
            aload 0 /* db */
            ldc "objArrayOopDesc"
            invokeinterface sun.jvm.hotspot.types.TypeDataBase.lookupType:(Ljava/lang/String;)Lsun/jvm/hotspot/types/Type;
            pop
         1: .line 46
            invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
            invokevirtual sun.jvm.hotspot.runtime.VM.getHeapOopSize:()I
            i2l
            putstatic sun.jvm.hotspot.oops.ObjArray.elementSize:J
         2: .line 47
            return
        end local 0 // sun.jvm.hotspot.types.TypeDataBase db
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0    db  Lsun/jvm/hotspot/types/TypeDataBase;
    Exceptions:
      throws sun.jvm.hotspot.types.WrongTypeException
    MethodParameters:
      Name  Flags
      db    

  void <init>(sun.jvm.hotspot.debugger.OopHandle, sun.jvm.hotspot.oops.ObjectHeap);
    descriptor: (Lsun/jvm/hotspot/debugger/OopHandle;Lsun/jvm/hotspot/oops/ObjectHeap;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // sun.jvm.hotspot.oops.ObjArray this
        start local 1 // sun.jvm.hotspot.debugger.OopHandle handle
        start local 2 // sun.jvm.hotspot.oops.ObjectHeap heap
         0: .line 50
            aload 0 /* this */
            aload 1 /* handle */
            aload 2 /* heap */
            invokespecial sun.jvm.hotspot.oops.Array.<init>:(Lsun/jvm/hotspot/debugger/OopHandle;Lsun/jvm/hotspot/oops/ObjectHeap;)V
         1: .line 51
            return
        end local 2 // sun.jvm.hotspot.oops.ObjectHeap heap
        end local 1 // sun.jvm.hotspot.debugger.OopHandle handle
        end local 0 // sun.jvm.hotspot.oops.ObjArray this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lsun/jvm/hotspot/oops/ObjArray;
            0    2     1  handle  Lsun/jvm/hotspot/debugger/OopHandle;
            0    2     2    heap  Lsun/jvm/hotspot/oops/ObjectHeap;
    MethodParameters:
        Name  Flags
      handle  
      heap    

  public boolean isObjArray();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.jvm.hotspot.oops.ObjArray this
         0: .line 53
            iconst_1
            ireturn
        end local 0 // sun.jvm.hotspot.oops.ObjArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/jvm/hotspot/oops/ObjArray;

  public sun.jvm.hotspot.debugger.OopHandle getOopHandleAt(long);
    descriptor: (J)Lsun/jvm/hotspot/debugger/OopHandle;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=2
        start local 0 // sun.jvm.hotspot.oops.ObjArray this
        start local 1 // long index
         0: .line 58
            getstatic sun.jvm.hotspot.runtime.BasicType.T_OBJECT:Lsun/jvm/hotspot/runtime/BasicType;
            invokestatic sun.jvm.hotspot.oops.ObjArray.baseOffsetInBytes:(Lsun/jvm/hotspot/runtime/BasicType;)J
            lload 1 /* index */
            getstatic sun.jvm.hotspot.oops.ObjArray.elementSize:J
            lmul
            ladd
            lstore 3 /* offset */
        start local 3 // long offset
         1: .line 59
            invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
            invokevirtual sun.jvm.hotspot.runtime.VM.isCompressedOopsEnabled:()Z
            ifeq 3
         2: .line 60
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.oops.ObjArray.getHandle:()Lsun/jvm/hotspot/debugger/OopHandle;
            lload 3 /* offset */
            invokeinterface sun.jvm.hotspot.debugger.OopHandle.getCompOopHandleAt:(J)Lsun/jvm/hotspot/debugger/OopHandle;
            areturn
         3: .line 62
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.oops.ObjArray.getHandle:()Lsun/jvm/hotspot/debugger/OopHandle;
            lload 3 /* offset */
            invokeinterface sun.jvm.hotspot.debugger.OopHandle.getOopHandleAt:(J)Lsun/jvm/hotspot/debugger/OopHandle;
            areturn
        end local 3 // long offset
        end local 1 // long index
        end local 0 // sun.jvm.hotspot.oops.ObjArray this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lsun/jvm/hotspot/oops/ObjArray;
            0    4     1   index  J
            1    4     3  offset  J
    MethodParameters:
       Name  Flags
      index  

  public sun.jvm.hotspot.oops.Oop getObjAt(long);
    descriptor: (J)Lsun/jvm/hotspot/oops/Oop;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // sun.jvm.hotspot.oops.ObjArray this
        start local 1 // long index
         0: .line 67
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.oops.ObjArray.getHeap:()Lsun/jvm/hotspot/oops/ObjectHeap;
            aload 0 /* this */
            lload 1 /* index */
            invokevirtual sun.jvm.hotspot.oops.ObjArray.getOopHandleAt:(J)Lsun/jvm/hotspot/debugger/OopHandle;
            invokevirtual sun.jvm.hotspot.oops.ObjectHeap.newOop:(Lsun/jvm/hotspot/debugger/OopHandle;)Lsun/jvm/hotspot/oops/Oop;
            areturn
        end local 1 // long index
        end local 0 // sun.jvm.hotspot.oops.ObjArray this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lsun/jvm/hotspot/oops/ObjArray;
            0    1     1  index  J
    MethodParameters:
       Name  Flags
      index  

  public void printValueOn(java.io.PrintStream);
    descriptor: (Ljava/io/PrintStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.jvm.hotspot.oops.ObjArray this
        start local 1 // java.io.PrintStream tty
         0: .line 71
            aload 1 /* tty */
            ldc "ObjArray"
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
         1: .line 72
            return
        end local 1 // java.io.PrintStream tty
        end local 0 // sun.jvm.hotspot.oops.ObjArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/jvm/hotspot/oops/ObjArray;
            0    2     1   tty  Ljava/io/PrintStream;
    MethodParameters:
      Name  Flags
      tty   

  public void iterateFields(sun.jvm.hotspot.oops.OopVisitor, boolean);
    descriptor: (Lsun/jvm/hotspot/oops/OopVisitor;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=10, args_size=3
        start local 0 // sun.jvm.hotspot.oops.ObjArray this
        start local 1 // sun.jvm.hotspot.oops.OopVisitor visitor
        start local 2 // boolean doVMFields
         0: .line 75
            aload 0 /* this */
            aload 1 /* visitor */
            iload 2 /* doVMFields */
            invokespecial sun.jvm.hotspot.oops.Array.iterateFields:(Lsun/jvm/hotspot/oops/OopVisitor;Z)V
         1: .line 76
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.oops.ObjArray.getLength:()J
            l2i
            istore 3 /* length */
        start local 3 // int length
         2: .line 77
            getstatic sun.jvm.hotspot.runtime.BasicType.T_OBJECT:Lsun/jvm/hotspot/runtime/BasicType;
            invokestatic sun.jvm.hotspot.oops.ObjArray.baseOffsetInBytes:(Lsun/jvm/hotspot/runtime/BasicType;)J
            lstore 4 /* baseOffset */
        start local 4 // long baseOffset
         3: .line 78
            iconst_0
            istore 6 /* index */
        start local 6 // int index
         4: goto 12
         5: .line 79
      StackMap locals: int long int
      StackMap stack:
            lload 4 /* baseOffset */
            iload 6 /* index */
            i2l
            getstatic sun.jvm.hotspot.oops.ObjArray.elementSize:J
            lmul
            ladd
            lstore 7 /* offset */
        start local 7 // long offset
         6: .line 81
            invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
            invokevirtual sun.jvm.hotspot.runtime.VM.isCompressedOopsEnabled:()Z
            ifeq 9
         7: .line 82
            new sun.jvm.hotspot.oops.NarrowOopField
            dup
            new sun.jvm.hotspot.oops.IndexableFieldIdentifier
            dup
            iload 6 /* index */
            invokespecial sun.jvm.hotspot.oops.IndexableFieldIdentifier.<init>:(I)V
            lload 7 /* offset */
            iconst_0
            invokespecial sun.jvm.hotspot.oops.NarrowOopField.<init>:(Lsun/jvm/hotspot/oops/FieldIdentifier;JZ)V
            astore 9 /* field */
        start local 9 // sun.jvm.hotspot.oops.OopField field
         8: .line 83
            goto 10
        end local 9 // sun.jvm.hotspot.oops.OopField field
         9: .line 84
      StackMap locals: long
      StackMap stack:
            new sun.jvm.hotspot.oops.OopField
            dup
            new sun.jvm.hotspot.oops.IndexableFieldIdentifier
            dup
            iload 6 /* index */
            invokespecial sun.jvm.hotspot.oops.IndexableFieldIdentifier.<init>:(I)V
            lload 7 /* offset */
            iconst_0
            invokespecial sun.jvm.hotspot.oops.OopField.<init>:(Lsun/jvm/hotspot/oops/FieldIdentifier;JZ)V
            astore 9 /* field */
        start local 9 // sun.jvm.hotspot.oops.OopField field
        10: .line 86
      StackMap locals: sun.jvm.hotspot.oops.OopField
      StackMap stack:
            aload 1 /* visitor */
            aload 9 /* field */
            iconst_0
            invokeinterface sun.jvm.hotspot.oops.OopVisitor.doOop:(Lsun/jvm/hotspot/oops/OopField;Z)V
        end local 9 // sun.jvm.hotspot.oops.OopField field
        end local 7 // long offset
        11: .line 78
            iinc 6 /* index */ 1
      StackMap locals:
      StackMap stack:
        12: iload 6 /* index */
            iload 3 /* length */
            if_icmplt 5
        end local 6 // int index
        13: .line 88
            return
        end local 4 // long baseOffset
        end local 3 // int length
        end local 2 // boolean doVMFields
        end local 1 // sun.jvm.hotspot.oops.OopVisitor visitor
        end local 0 // sun.jvm.hotspot.oops.ObjArray this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   14     0        this  Lsun/jvm/hotspot/oops/ObjArray;
            0   14     1     visitor  Lsun/jvm/hotspot/oops/OopVisitor;
            0   14     2  doVMFields  Z
            2   14     3      length  I
            3   14     4  baseOffset  J
            4   13     6       index  I
            6   11     7      offset  J
            8    9     9       field  Lsun/jvm/hotspot/oops/OopField;
           10   11     9       field  Lsun/jvm/hotspot/oops/OopField;
    MethodParameters:
            Name  Flags
      visitor     
      doVMFields  
}
SourceFile: "ObjArray.java"
NestMembers:
  sun.jvm.hotspot.oops.ObjArray$1
InnerClasses:
  sun.jvm.hotspot.oops.ObjArray$1