public abstract class jdk.nashorn.internal.runtime.arrays.ArrayData
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: jdk.nashorn.internal.runtime.arrays.ArrayData
  super_class: java.lang.Object
{
  protected static final int CHUNK_SIZE;
    descriptor: I
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: 32

  public static final jdk.nashorn.internal.runtime.arrays.ArrayData EMPTY_ARRAY;
    descriptor: Ljdk/nashorn/internal/runtime/arrays/ArrayData;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

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

  protected static final jdk.nashorn.internal.codegen.CompilerConstants$Call THROW_UNWARRANTED;
    descriptor: Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=8, locals=0, args_size=0
         0: .line 51
            ldc Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic jdk.nashorn.internal.runtime.arrays.ArrayData.$assertionsDisabled:Z
         3: .line 57
            new jdk.nashorn.internal.runtime.arrays.ArrayData$UntouchedArrayData
            dup
            invokespecial jdk.nashorn.internal.runtime.arrays.ArrayData$UntouchedArrayData.<init>:()V
            putstatic jdk.nashorn.internal.runtime.arrays.ArrayData.EMPTY_ARRAY:Ljdk/nashorn/internal/runtime/arrays/ArrayData;
         4: .line 72
            invokestatic java.lang.invoke.MethodHandles.lookup:()Ljava/lang/invoke/MethodHandles$Lookup;
            ldc Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            ldc "throwUnwarranted"
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            iconst_3
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            aastore
            dup
            iconst_1
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
            dup
            iconst_2
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
            invokestatic jdk.nashorn.internal.codegen.CompilerConstants.staticCall:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
            putstatic jdk.nashorn.internal.runtime.arrays.ArrayData.THROW_UNWARRANTED:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected void <init>(long);
    descriptor: (J)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.arrays.ArrayData this
        start local 1 // long length
         0: .line 236
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 237
            aload 0 /* this */
            lload 1 /* length */
            putfield jdk.nashorn.internal.runtime.arrays.ArrayData.length:J
         2: .line 238
            return
        end local 1 // long length
        end local 0 // jdk.nashorn.internal.runtime.arrays.ArrayData this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            0    3     1  length  J
    MethodParameters:
        Name  Flags
      length  final

  public static jdk.nashorn.internal.runtime.arrays.ArrayData initialArray();
    descriptor: ()Ljdk/nashorn/internal/runtime/arrays/ArrayData;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 245
            new jdk.nashorn.internal.runtime.arrays.IntArrayData
            dup
            invokespecial jdk.nashorn.internal.runtime.arrays.IntArrayData.<init>:()V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected static void throwUnwarranted(jdk.nashorn.internal.runtime.arrays.ArrayData, int, int);
    descriptor: (Ljdk/nashorn/internal/runtime/arrays/ArrayData;II)V
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // jdk.nashorn.internal.runtime.arrays.ArrayData data
        start local 1 // int programPoint
        start local 2 // int index
         0: .line 256
            new jdk.nashorn.internal.runtime.UnwarrantedOptimismException
            dup
            aload 0 /* data */
            iload 2 /* index */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.getObject:(I)Ljava/lang/Object;
            iload 1 /* programPoint */
            invokespecial jdk.nashorn.internal.runtime.UnwarrantedOptimismException.<init>:(Ljava/lang/Object;I)V
            athrow
        end local 2 // int index
        end local 1 // int programPoint
        end local 0 // jdk.nashorn.internal.runtime.arrays.ArrayData data
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          data  Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            0    1     1  programPoint  I
            0    1     2         index  I
    MethodParameters:
              Name  Flags
      data          final
      programPoint  final
      index         final

  protected static int alignUp(int);
    descriptor: (I)I
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int size
         0: .line 265
            iload 0 /* size */
            bipush 32
            iadd
            iconst_1
            isub
            bipush -32
            iand
            ireturn
        end local 0 // int size
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  size  I
    MethodParameters:
      Name  Flags
      size  final

  public static jdk.nashorn.internal.runtime.arrays.ArrayData allocate(long);
    descriptor: (J)Ljdk/nashorn/internal/runtime/arrays/ArrayData;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=9, locals=2, args_size=1
        start local 0 // long length
         0: .line 275
            lload 0 /* length */
            lconst_0
            lcmp
            ifne 2
         1: .line 276
            new jdk.nashorn.internal.runtime.arrays.IntArrayData
            dup
            invokespecial jdk.nashorn.internal.runtime.arrays.IntArrayData.<init>:()V
            areturn
         2: .line 277
      StackMap locals:
      StackMap stack:
            lload 0 /* length */
            ldc 131072
            lcmp
            iflt 4
         3: .line 278
            new jdk.nashorn.internal.runtime.arrays.SparseArrayData
            dup
            getstatic jdk.nashorn.internal.runtime.arrays.ArrayData.EMPTY_ARRAY:Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            lload 0 /* length */
            invokespecial jdk.nashorn.internal.runtime.arrays.SparseArrayData.<init>:(Ljdk/nashorn/internal/runtime/arrays/ArrayData;J)V
            areturn
         4: .line 280
      StackMap locals:
      StackMap stack:
            new jdk.nashorn.internal.runtime.arrays.DeletedRangeArrayFilter
            dup
            new jdk.nashorn.internal.runtime.arrays.IntArrayData
            dup
            lload 0 /* length */
            l2i
            invokespecial jdk.nashorn.internal.runtime.arrays.IntArrayData.<init>:(I)V
            lconst_0
            lload 0 /* length */
            lconst_1
            lsub
            invokespecial jdk.nashorn.internal.runtime.arrays.DeletedRangeArrayFilter.<init>:(Ljdk/nashorn/internal/runtime/arrays/ArrayData;JJ)V
            areturn
        end local 0 // long length
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0  length  J
    MethodParameters:
        Name  Flags
      length  final

  public static jdk.nashorn.internal.runtime.arrays.ArrayData allocate(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/arrays/ArrayData;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // java.lang.Object array
         0: .line 291
            aload 0 /* array */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            astore 1 /* clazz */
        start local 1 // java.lang.Class clazz
         1: .line 293
            aload 1 /* clazz */
            ldc [I
            if_acmpne 3
         2: .line 294
            new jdk.nashorn.internal.runtime.arrays.IntArrayData
            dup
            aload 0 /* array */
            checkcast int[]
            aload 0 /* array */
            checkcast int[]
            arraylength
            invokespecial jdk.nashorn.internal.runtime.arrays.IntArrayData.<init>:([II)V
            areturn
         3: .line 295
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 1 /* clazz */
            ldc [D
            if_acmpne 5
         4: .line 296
            new jdk.nashorn.internal.runtime.arrays.NumberArrayData
            dup
            aload 0 /* array */
            checkcast double[]
            aload 0 /* array */
            checkcast double[]
            arraylength
            invokespecial jdk.nashorn.internal.runtime.arrays.NumberArrayData.<init>:([DI)V
            areturn
         5: .line 298
      StackMap locals:
      StackMap stack:
            new jdk.nashorn.internal.runtime.arrays.ObjectArrayData
            dup
            aload 0 /* array */
            checkcast java.lang.Object[]
            aload 0 /* array */
            checkcast java.lang.Object[]
            arraylength
            invokespecial jdk.nashorn.internal.runtime.arrays.ObjectArrayData.<init>:([Ljava/lang/Object;I)V
            areturn
        end local 1 // java.lang.Class clazz
        end local 0 // java.lang.Object array
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0  array  Ljava/lang/Object;
            1    6     1  clazz  Ljava/lang/Class<*>;
    MethodParameters:
       Name  Flags
      array  final

  public static jdk.nashorn.internal.runtime.arrays.ArrayData allocate(int[]);
    descriptor: ([I)Ljdk/nashorn/internal/runtime/arrays/ArrayData;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // int[] array
         0: .line 309
            new jdk.nashorn.internal.runtime.arrays.IntArrayData
            dup
            aload 0 /* array */
            aload 0 /* array */
            arraylength
            invokespecial jdk.nashorn.internal.runtime.arrays.IntArrayData.<init>:([II)V
            areturn
        end local 0 // int[] array
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  array  [I
    MethodParameters:
       Name  Flags
      array  final

  public static jdk.nashorn.internal.runtime.arrays.ArrayData allocate(double[]);
    descriptor: ([D)Ljdk/nashorn/internal/runtime/arrays/ArrayData;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // double[] array
         0: .line 319
            new jdk.nashorn.internal.runtime.arrays.NumberArrayData
            dup
            aload 0 /* array */
            aload 0 /* array */
            arraylength
            invokespecial jdk.nashorn.internal.runtime.arrays.NumberArrayData.<init>:([DI)V
            areturn
        end local 0 // double[] array
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  array  [D
    MethodParameters:
       Name  Flags
      array  final

  public static jdk.nashorn.internal.runtime.arrays.ArrayData allocate(java.lang.Object[]);
    descriptor: ([Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/arrays/ArrayData;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.lang.Object[] array
         0: .line 329
            new jdk.nashorn.internal.runtime.arrays.ObjectArrayData
            dup
            aload 0 /* array */
            aload 0 /* array */
            arraylength
            invokespecial jdk.nashorn.internal.runtime.arrays.ObjectArrayData.<init>:([Ljava/lang/Object;I)V
            areturn
        end local 0 // java.lang.Object[] array
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  array  [Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      array  final

  public static jdk.nashorn.internal.runtime.arrays.ArrayData allocate(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)Ljdk/nashorn/internal/runtime/arrays/ArrayData;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.nio.ByteBuffer buf
         0: .line 339
            new jdk.nashorn.internal.runtime.arrays.ByteBufferArrayData
            dup
            aload 0 /* buf */
            invokespecial jdk.nashorn.internal.runtime.arrays.ByteBufferArrayData.<init>:(Ljava/nio/ByteBuffer;)V
            areturn
        end local 0 // java.nio.ByteBuffer buf
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   buf  Ljava/nio/ByteBuffer;
    MethodParameters:
      Name  Flags
      buf   final

  public static jdk.nashorn.internal.runtime.arrays.ArrayData freeze(jdk.nashorn.internal.runtime.arrays.ArrayData);
    descriptor: (Ljdk/nashorn/internal/runtime/arrays/ArrayData;)Ljdk/nashorn/internal/runtime/arrays/ArrayData;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.arrays.ArrayData underlying
         0: .line 349
            new jdk.nashorn.internal.runtime.arrays.FrozenArrayFilter
            dup
            aload 0 /* underlying */
            invokespecial jdk.nashorn.internal.runtime.arrays.FrozenArrayFilter.<init>:(Ljdk/nashorn/internal/runtime/arrays/ArrayData;)V
            areturn
        end local 0 // jdk.nashorn.internal.runtime.arrays.ArrayData underlying
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0  underlying  Ljdk/nashorn/internal/runtime/arrays/ArrayData;
    MethodParameters:
            Name  Flags
      underlying  final

  public static jdk.nashorn.internal.runtime.arrays.ArrayData seal(jdk.nashorn.internal.runtime.arrays.ArrayData);
    descriptor: (Ljdk/nashorn/internal/runtime/arrays/ArrayData;)Ljdk/nashorn/internal/runtime/arrays/ArrayData;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.arrays.ArrayData underlying
         0: .line 359
            new jdk.nashorn.internal.runtime.arrays.SealedArrayFilter
            dup
            aload 0 /* underlying */
            invokespecial jdk.nashorn.internal.runtime.arrays.SealedArrayFilter.<init>:(Ljdk/nashorn/internal/runtime/arrays/ArrayData;)V
            areturn
        end local 0 // jdk.nashorn.internal.runtime.arrays.ArrayData underlying
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0  underlying  Ljdk/nashorn/internal/runtime/arrays/ArrayData;
    MethodParameters:
            Name  Flags
      underlying  final

  public static jdk.nashorn.internal.runtime.arrays.ArrayData preventExtension(jdk.nashorn.internal.runtime.arrays.ArrayData);
    descriptor: (Ljdk/nashorn/internal/runtime/arrays/ArrayData;)Ljdk/nashorn/internal/runtime/arrays/ArrayData;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.arrays.ArrayData underlying
         0: .line 369
            new jdk.nashorn.internal.runtime.arrays.NonExtensibleArrayFilter
            dup
            aload 0 /* underlying */
            invokespecial jdk.nashorn.internal.runtime.arrays.NonExtensibleArrayFilter.<init>:(Ljdk/nashorn/internal/runtime/arrays/ArrayData;)V
            areturn
        end local 0 // jdk.nashorn.internal.runtime.arrays.ArrayData underlying
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0  underlying  Ljdk/nashorn/internal/runtime/arrays/ArrayData;
    MethodParameters:
            Name  Flags
      underlying  final

  public static jdk.nashorn.internal.runtime.arrays.ArrayData setIsLengthNotWritable(jdk.nashorn.internal.runtime.arrays.ArrayData);
    descriptor: (Ljdk/nashorn/internal/runtime/arrays/ArrayData;)Ljdk/nashorn/internal/runtime/arrays/ArrayData;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.arrays.ArrayData underlying
         0: .line 379
            new jdk.nashorn.internal.runtime.arrays.LengthNotWritableFilter
            dup
            aload 0 /* underlying */
            invokespecial jdk.nashorn.internal.runtime.arrays.LengthNotWritableFilter.<init>:(Ljdk/nashorn/internal/runtime/arrays/ArrayData;)V
            areturn
        end local 0 // jdk.nashorn.internal.runtime.arrays.ArrayData underlying
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0  underlying  Ljdk/nashorn/internal/runtime/arrays/ArrayData;
    MethodParameters:
            Name  Flags
      underlying  final

  public final long length();
    descriptor: ()J
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.arrays.ArrayData this
         0: .line 397
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.arrays.ArrayData.length:J
            lreturn
        end local 0 // jdk.nashorn.internal.runtime.arrays.ArrayData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/arrays/ArrayData;

  public abstract jdk.nashorn.internal.runtime.arrays.ArrayData copy();
    descriptor: ()Ljdk/nashorn/internal/runtime/arrays/ArrayData;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract java.lang.Object[] asObjectArray();
    descriptor: ()[Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public  asArrayOfType(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.arrays.ArrayData this
        start local 1 // java.lang.Class componentType
         0: .line 422
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.asObjectArray:()[Ljava/lang/Object;
            aload 1 /* componentType */
            invokestatic jdk.nashorn.internal.runtime.JSType.convertArray:([Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
            areturn
        end local 1 // java.lang.Class componentType
        end local 0 // jdk.nashorn.internal.runtime.arrays.ArrayData this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0           this  Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            0    1     1  componentType  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)Ljava/lang/Object;
    MethodParameters:
               Name  Flags
      componentType  final

  public void setLength(long);
    descriptor: (J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.arrays.ArrayData this
        start local 1 // long length
         0: .line 431
            aload 0 /* this */
            lload 1 /* length */
            putfield jdk.nashorn.internal.runtime.arrays.ArrayData.length:J
         1: .line 432
            return
        end local 1 // long length
        end local 0 // jdk.nashorn.internal.runtime.arrays.ArrayData this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            0    2     1  length  J
    MethodParameters:
        Name  Flags
      length  final

  protected final long increaseLength();
    descriptor: ()J
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.arrays.ArrayData this
         0: .line 439
            aload 0 /* this */
            dup
            getfield jdk.nashorn.internal.runtime.arrays.ArrayData.length:J
            lconst_1
            ladd
            dup2_x1
            putfield jdk.nashorn.internal.runtime.arrays.ArrayData.length:J
            lreturn
        end local 0 // jdk.nashorn.internal.runtime.arrays.ArrayData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/arrays/ArrayData;

  protected final long decreaseLength();
    descriptor: ()J
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.arrays.ArrayData this
         0: .line 447
            aload 0 /* this */
            dup
            getfield jdk.nashorn.internal.runtime.arrays.ArrayData.length:J
            lconst_1
            lsub
            dup2_x1
            putfield jdk.nashorn.internal.runtime.arrays.ArrayData.length:J
            lreturn
        end local 0 // jdk.nashorn.internal.runtime.arrays.ArrayData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/arrays/ArrayData;

  public abstract jdk.nashorn.internal.runtime.arrays.ArrayData shiftLeft(int);
    descriptor: (I)Ljdk/nashorn/internal/runtime/arrays/ArrayData;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      by    final

  public abstract jdk.nashorn.internal.runtime.arrays.ArrayData shiftRight(int);
    descriptor: (I)Ljdk/nashorn/internal/runtime/arrays/ArrayData;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      by    final

  public abstract jdk.nashorn.internal.runtime.arrays.ArrayData ensure(long);
    descriptor: (J)Ljdk/nashorn/internal/runtime/arrays/ArrayData;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
           Name  Flags
      safeIndex  final

  public abstract jdk.nashorn.internal.runtime.arrays.ArrayData shrink(long);
    descriptor: (J)Ljdk/nashorn/internal/runtime/arrays/ArrayData;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
           Name  Flags
      newLength  final

  public abstract jdk.nashorn.internal.runtime.arrays.ArrayData set(int, java.lang.Object, boolean);
    descriptor: (ILjava/lang/Object;Z)Ljdk/nashorn/internal/runtime/arrays/ArrayData;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      index   final
      value   final
      strict  final

  public abstract jdk.nashorn.internal.runtime.arrays.ArrayData set(int, int, boolean);
    descriptor: (IIZ)Ljdk/nashorn/internal/runtime/arrays/ArrayData;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      index   final
      value   final
      strict  final

  public abstract jdk.nashorn.internal.runtime.arrays.ArrayData set(int, double, boolean);
    descriptor: (IDZ)Ljdk/nashorn/internal/runtime/arrays/ArrayData;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      index   final
      value   final
      strict  final

  public jdk.nashorn.internal.runtime.arrays.ArrayData setEmpty(int);
    descriptor: (I)Ljdk/nashorn/internal/runtime/arrays/ArrayData;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.arrays.ArrayData this
        start local 1 // int index
         0: .line 528
            aload 0 /* this */
            areturn
        end local 1 // int index
        end local 0 // jdk.nashorn.internal.runtime.arrays.ArrayData this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            0    1     1  index  I
    MethodParameters:
       Name  Flags
      index  final

  public jdk.nashorn.internal.runtime.arrays.ArrayData setEmpty(long, long);
    descriptor: (JJ)Ljdk/nashorn/internal/runtime/arrays/ArrayData;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=5, args_size=3
        start local 0 // jdk.nashorn.internal.runtime.arrays.ArrayData this
        start local 1 // long lo
        start local 3 // long hi
         0: .line 540
            aload 0 /* this */
            areturn
        end local 3 // long hi
        end local 1 // long lo
        end local 0 // jdk.nashorn.internal.runtime.arrays.ArrayData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            0    1     1    lo  J
            0    1     3    hi  J
    MethodParameters:
      Name  Flags
      lo    final
      hi    final

  public abstract int getInt(int);
    descriptor: (I)I
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
       Name  Flags
      index  final

  public jdk.nashorn.internal.codegen.types.Type getOptimisticType();
    descriptor: ()Ljdk/nashorn/internal/codegen/types/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.arrays.ArrayData this
         0: .line 557
            getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
            areturn
        end local 0 // jdk.nashorn.internal.runtime.arrays.ArrayData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/arrays/ArrayData;

  public int getIntOptimistic(int, int);
    descriptor: (II)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // jdk.nashorn.internal.runtime.arrays.ArrayData this
        start local 1 // int index
        start local 2 // int programPoint
         0: .line 569
            new jdk.nashorn.internal.runtime.UnwarrantedOptimismException
            dup
            aload 0 /* this */
            iload 1 /* index */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.getObject:(I)Ljava/lang/Object;
            iload 2 /* programPoint */
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.getOptimisticType:()Ljdk/nashorn/internal/codegen/types/Type;
            invokespecial jdk.nashorn.internal.runtime.UnwarrantedOptimismException.<init>:(Ljava/lang/Object;ILjdk/nashorn/internal/codegen/types/Type;)V
            athrow
        end local 2 // int programPoint
        end local 1 // int index
        end local 0 // jdk.nashorn.internal.runtime.arrays.ArrayData this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            0    1     1         index  I
            0    1     2  programPoint  I
    MethodParameters:
              Name  Flags
      index         final
      programPoint  final

  public abstract double getDouble(int);
    descriptor: (I)D
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
       Name  Flags
      index  final

  public double getDoubleOptimistic(int, int);
    descriptor: (II)D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // jdk.nashorn.internal.runtime.arrays.ArrayData this
        start local 1 // int index
        start local 2 // int programPoint
         0: .line 589
            new jdk.nashorn.internal.runtime.UnwarrantedOptimismException
            dup
            aload 0 /* this */
            iload 1 /* index */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.getObject:(I)Ljava/lang/Object;
            iload 2 /* programPoint */
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.getOptimisticType:()Ljdk/nashorn/internal/codegen/types/Type;
            invokespecial jdk.nashorn.internal.runtime.UnwarrantedOptimismException.<init>:(Ljava/lang/Object;ILjdk/nashorn/internal/codegen/types/Type;)V
            athrow
        end local 2 // int programPoint
        end local 1 // int index
        end local 0 // jdk.nashorn.internal.runtime.arrays.ArrayData this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            0    1     1         index  I
            0    1     2  programPoint  I
    MethodParameters:
              Name  Flags
      index         final
      programPoint  final

  public abstract java.lang.Object getObject(int);
    descriptor: (I)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
       Name  Flags
      index  final

  public abstract boolean has(int);
    descriptor: (I)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
       Name  Flags
      index  final

  public boolean canDelete(int, boolean);
    descriptor: (IZ)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // jdk.nashorn.internal.runtime.arrays.ArrayData this
        start local 1 // int index
        start local 2 // boolean strict
         0: .line 616
            iconst_1
            ireturn
        end local 2 // boolean strict
        end local 1 // int index
        end local 0 // jdk.nashorn.internal.runtime.arrays.ArrayData this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            0    1     1   index  I
            0    1     2  strict  Z
    MethodParameters:
        Name  Flags
      index   final
      strict  final

  public boolean canDelete(long, boolean);
    descriptor: (JZ)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=4, args_size=3
        start local 0 // jdk.nashorn.internal.runtime.arrays.ArrayData this
        start local 1 // long longIndex
        start local 3 // boolean strict
         0: .line 628
            iconst_1
            ireturn
        end local 3 // boolean strict
        end local 1 // long longIndex
        end local 0 // jdk.nashorn.internal.runtime.arrays.ArrayData this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            0    1     1  longIndex  J
            0    1     3     strict  Z
    MethodParameters:
           Name  Flags
      longIndex  final
      strict     final

  public final jdk.nashorn.internal.runtime.arrays.ArrayData safeDelete(long, long, boolean);
    descriptor: (JJZ)Ljdk/nashorn/internal/runtime/arrays/ArrayData;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // jdk.nashorn.internal.runtime.arrays.ArrayData this
        start local 1 // long fromIndex
        start local 3 // long toIndex
        start local 5 // boolean strict
         0: .line 641
            lload 1 /* fromIndex */
            lload 3 /* toIndex */
            lcmp
            ifgt 2
            aload 0 /* this */
            lload 1 /* fromIndex */
            iload 5 /* strict */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.canDelete:(JZ)Z
            ifeq 2
         1: .line 642
            aload 0 /* this */
            lload 1 /* fromIndex */
            lload 3 /* toIndex */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.delete:(JJ)Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            areturn
         2: .line 644
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 5 // boolean strict
        end local 3 // long toIndex
        end local 1 // long fromIndex
        end local 0 // jdk.nashorn.internal.runtime.arrays.ArrayData this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            0    3     1  fromIndex  J
            0    3     3    toIndex  J
            0    3     5     strict  Z
    MethodParameters:
           Name  Flags
      fromIndex  final
      toIndex    final
      strict     final

  public jdk.nashorn.internal.runtime.PropertyDescriptor getDescriptor(jdk.nashorn.internal.objects.Global, int);
    descriptor: (Ljdk/nashorn/internal/objects/Global;I)Ljdk/nashorn/internal/runtime/PropertyDescriptor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // jdk.nashorn.internal.runtime.arrays.ArrayData this
        start local 1 // jdk.nashorn.internal.objects.Global global
        start local 2 // int index
         0: .line 656
            aload 1 /* global */
            aload 0 /* this */
            iload 2 /* index */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.getObject:(I)Ljava/lang/Object;
            iconst_1
            iconst_1
            iconst_1
            invokevirtual jdk.nashorn.internal.objects.Global.newDataDescriptor:(Ljava/lang/Object;ZZZ)Ljdk/nashorn/internal/runtime/PropertyDescriptor;
            areturn
        end local 2 // int index
        end local 1 // jdk.nashorn.internal.objects.Global global
        end local 0 // jdk.nashorn.internal.runtime.arrays.ArrayData this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            0    1     1  global  Ljdk/nashorn/internal/objects/Global;
            0    1     2   index  I
    MethodParameters:
        Name  Flags
      global  final
      index   final

  public abstract jdk.nashorn.internal.runtime.arrays.ArrayData delete(int);
    descriptor: (I)Ljdk/nashorn/internal/runtime/arrays/ArrayData;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
       Name  Flags
      index  final

  public abstract jdk.nashorn.internal.runtime.arrays.ArrayData delete(long, long);
    descriptor: (JJ)Ljdk/nashorn/internal/runtime/arrays/ArrayData;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
           Name  Flags
      fromIndex  final
      toIndex    final

  public abstract jdk.nashorn.internal.runtime.arrays.ArrayData convert(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljdk/nashorn/internal/runtime/arrays/ArrayData;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/lang/Class<*>;)Ljdk/nashorn/internal/runtime/arrays/ArrayData;
    MethodParameters:
      Name  Flags
      type  final

  public jdk.nashorn.internal.runtime.arrays.ArrayData push(boolean, java.lang.Object[]);
    descriptor: (Z[Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/arrays/ArrayData;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=7, locals=11, args_size=3
        start local 0 // jdk.nashorn.internal.runtime.arrays.ArrayData this
        start local 1 // boolean strict
        start local 2 // java.lang.Object[] items
         0: .line 696
            aload 2 /* items */
            arraylength
            ifne 2
         1: .line 697
            aload 0 /* this */
            areturn
         2: .line 700
      StackMap locals:
      StackMap stack:
            aload 2 /* items */
            invokestatic jdk.nashorn.internal.runtime.arrays.ArrayData.widestType:([Ljava/lang/Object;)Ljava/lang/Class;
            astore 3 /* widest */
        start local 3 // java.lang.Class widest
         3: .line 702
            aload 0 /* this */
            aload 3 /* widest */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.convert:(Ljava/lang/Class;)Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            astore 4 /* newData */
        start local 4 // jdk.nashorn.internal.runtime.arrays.ArrayData newData
         4: .line 703
            aload 4 /* newData */
            getfield jdk.nashorn.internal.runtime.arrays.ArrayData.length:J
            lstore 5 /* pos */
        start local 5 // long pos
         5: .line 704
            aload 2 /* items */
            dup
            astore 10
            arraylength
            istore 9
            iconst_0
            istore 8
            goto 10
      StackMap locals: jdk.nashorn.internal.runtime.arrays.ArrayData int java.lang.Object[] java.lang.Class jdk.nashorn.internal.runtime.arrays.ArrayData long top int int java.lang.Object[]
      StackMap stack:
         6: aload 10
            iload 8
            aaload
            astore 7 /* item */
        start local 7 // java.lang.Object item
         7: .line 705
            aload 4 /* newData */
            lload 5 /* pos */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.ensure:(J)Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            astore 4 /* newData */
         8: .line 706
            aload 4 /* newData */
            lload 5 /* pos */
            dup2
            lconst_1
            ladd
            lstore 5 /* pos */
            l2i
            aload 7 /* item */
            iload 1 /* strict */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.set:(ILjava/lang/Object;Z)Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            pop
        end local 7 // java.lang.Object item
         9: .line 704
            iinc 8 1
      StackMap locals:
      StackMap stack:
        10: iload 8
            iload 9
            if_icmplt 6
        11: .line 708
            aload 4 /* newData */
            areturn
        end local 5 // long pos
        end local 4 // jdk.nashorn.internal.runtime.arrays.ArrayData newData
        end local 3 // java.lang.Class widest
        end local 2 // java.lang.Object[] items
        end local 1 // boolean strict
        end local 0 // jdk.nashorn.internal.runtime.arrays.ArrayData this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   12     0     this  Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            0   12     1   strict  Z
            0   12     2    items  [Ljava/lang/Object;
            3   12     3   widest  Ljava/lang/Class<*>;
            4   12     4  newData  Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            5   12     5      pos  J
            7    9     7     item  Ljava/lang/Object;
    MethodParameters:
        Name  Flags
      strict  final
      items   final

  public jdk.nashorn.internal.runtime.arrays.ArrayData push(boolean, java.lang.Object);
    descriptor: (ZLjava/lang/Object;)Ljdk/nashorn/internal/runtime/arrays/ArrayData;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // jdk.nashorn.internal.runtime.arrays.ArrayData this
        start local 1 // boolean strict
        start local 2 // java.lang.Object item
         0: .line 719
            aload 0 /* this */
            iload 1 /* strict */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* item */
            aastore
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.push:(Z[Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            areturn
        end local 2 // java.lang.Object item
        end local 1 // boolean strict
        end local 0 // jdk.nashorn.internal.runtime.arrays.ArrayData this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            0    1     1  strict  Z
            0    1     2    item  Ljava/lang/Object;
    MethodParameters:
        Name  Flags
      strict  final
      item    final

  public abstract java.lang.Object pop();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract jdk.nashorn.internal.runtime.arrays.ArrayData slice(long, long);
    descriptor: (JJ)Ljdk/nashorn/internal/runtime/arrays/ArrayData;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      from  final
      to    final

  public jdk.nashorn.internal.runtime.arrays.ArrayData fastSplice(int, int, int);
    descriptor: (III)Ljdk/nashorn/internal/runtime/arrays/ArrayData;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // jdk.nashorn.internal.runtime.arrays.ArrayData this
        start local 1 // int start
        start local 2 // int removed
        start local 3 // int added
         0: .line 752
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 3 // int added
        end local 2 // int removed
        end local 1 // int start
        end local 0 // jdk.nashorn.internal.runtime.arrays.ArrayData this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            0    1     1    start  I
            0    1     2  removed  I
            0    1     3    added  I
    Exceptions:
      throws java.lang.UnsupportedOperationException
    MethodParameters:
         Name  Flags
      start    final
      removed  final
      added    final

  static java.lang.Class<?> widestType([]);
    descriptor: ([Ljava/lang/Object;)Ljava/lang/Class;
    flags: (0x0088) ACC_STATIC, ACC_VARARGS
    Code:
      stack=2, locals=7, args_size=1
        start local 0 // java.lang.Object[] items
         0: .line 756
            getstatic jdk.nashorn.internal.runtime.arrays.ArrayData.$assertionsDisabled:Z
            ifne 1
            aload 0 /* items */
            arraylength
            ifgt 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 758
      StackMap locals:
      StackMap stack:
            ldc Ljava/lang/Integer;
            astore 1 /* widest */
        start local 1 // java.lang.Class widest
         2: .line 760
            aload 0 /* items */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 14
      StackMap locals: java.lang.Object[] java.lang.Class top int int java.lang.Object[]
      StackMap stack:
         3: aload 5
            iload 3
            aaload
            astore 2 /* item */
        start local 2 // java.lang.Object item
         4: .line 761
            aload 2 /* item */
            ifnonnull 6
         5: .line 762
            ldc Ljava/lang/Object;
            areturn
         6: .line 764
      StackMap locals: java.lang.Object[] java.lang.Class java.lang.Object int int java.lang.Object[]
      StackMap stack:
            aload 2 /* item */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            astore 6 /* itemClass */
        start local 6 // java.lang.Class itemClass
         7: .line 765
            aload 6 /* itemClass */
            ldc Ljava/lang/Double;
            if_acmpeq 8
            aload 6 /* itemClass */
            ldc Ljava/lang/Float;
            if_acmpeq 8
            aload 6 /* itemClass */
            ldc Ljava/lang/Long;
            if_acmpne 11
         8: .line 766
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 1 /* widest */
            ldc Ljava/lang/Integer;
            if_acmpne 13
         9: .line 767
            ldc Ljava/lang/Double;
            astore 1 /* widest */
        10: .line 769
            goto 13
      StackMap locals:
      StackMap stack:
        11: aload 6 /* itemClass */
            ldc Ljava/lang/Integer;
            if_acmpeq 13
            aload 6 /* itemClass */
            ldc Ljava/lang/Short;
            if_acmpeq 13
            aload 6 /* itemClass */
            ldc Ljava/lang/Byte;
            if_acmpeq 13
        12: .line 770
            ldc Ljava/lang/Object;
            areturn
        end local 6 // java.lang.Class itemClass
        end local 2 // java.lang.Object item
        13: .line 760
      StackMap locals: java.lang.Object[] java.lang.Class top int int java.lang.Object[]
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
        14: iload 3
            iload 4
            if_icmplt 3
        15: .line 774
            aload 1 /* widest */
            areturn
        end local 1 // java.lang.Class widest
        end local 0 // java.lang.Object[] items
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   16     0      items  [Ljava/lang/Object;
            2   16     1     widest  Ljava/lang/Class<*>;
            4   13     2       item  Ljava/lang/Object;
            7   13     6  itemClass  Ljava/lang/Class<*>;
    Signature: ([Ljava/lang/Object;)Ljava/lang/Class<*>;
    MethodParameters:
       Name  Flags
      items  final

  protected java.util.List<java.lang.Long> computeIteratorKeys();
    descriptor: ()Ljava/util/List;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.arrays.ArrayData this
         0: .line 782
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* keys */
        start local 1 // java.util.List keys
         1: .line 784
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.length:()J
            lstore 2 /* len */
        start local 2 // long len
         2: .line 785
            lconst_0
            lstore 4 /* i */
        start local 4 // long i
         3: goto 7
         4: .line 786
      StackMap locals: java.util.List long long
      StackMap stack:
            aload 0 /* this */
            lload 4 /* i */
            l2i
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.has:(I)Z
            ifeq 6
         5: .line 787
            aload 1 /* keys */
            lload 4 /* i */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         6: .line 785
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 4 /* i */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.nextIndex:(J)J
            lstore 4 /* i */
      StackMap locals:
      StackMap stack:
         7: lload 4 /* i */
            lload 2 /* len */
            lcmp
            iflt 4
        end local 4 // long i
         8: .line 791
            aload 1 /* keys */
            areturn
        end local 2 // long len
        end local 1 // java.util.List keys
        end local 0 // jdk.nashorn.internal.runtime.arrays.ArrayData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            1    9     1  keys  Ljava/util/List<Ljava/lang/Long;>;
            2    9     2   len  J
            3    8     4     i  J
    Signature: ()Ljava/util/List<Ljava/lang/Long;>;

  public java.util.Iterator<java.lang.Long> indexIterator();
    descriptor: ()Ljava/util/Iterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.arrays.ArrayData this
         0: .line 802
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.computeIteratorKeys:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            areturn
        end local 0 // jdk.nashorn.internal.runtime.arrays.ArrayData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/arrays/ArrayData;
    Signature: ()Ljava/util/Iterator<Ljava/lang/Long;>;

  public static int nextSize(int);
    descriptor: (I)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int size
         0: .line 813
            iload 0 /* size */
            iconst_1
            iadd
            invokestatic jdk.nashorn.internal.runtime.arrays.ArrayData.alignUp:(I)I
            iconst_2
            imul
            ireturn
        end local 0 // int size
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  size  I
    MethodParameters:
      Name  Flags
      size  final

  long nextIndex(long);
    descriptor: (J)J
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.arrays.ArrayData this
        start local 1 // long index
         0: .line 825
            lload 1 /* index */
            lconst_1
            ladd
            lreturn
        end local 1 // long index
        end local 0 // jdk.nashorn.internal.runtime.arrays.ArrayData this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            0    1     1  index  J
    MethodParameters:
       Name  Flags
      index  final

  static java.lang.Object invoke(java.lang.invoke.MethodHandle, java.lang.Object);
    descriptor: (Ljava/lang/invoke/MethodHandle;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.lang.invoke.MethodHandle mh
        start local 1 // java.lang.Object arg
         0: .line 830
            aload 0 /* mh */
            aload 1 /* arg */
            invokevirtual java.lang.invoke.MethodHandle.invoke:(Ljava/lang/Object;)Ljava/lang/Object;
         1: areturn
         2: .line 831
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 2 /* e */
        start local 2 // java.lang.Throwable e
         3: .line 832
            aload 2 /* e */
            athrow
        end local 2 // java.lang.Throwable e
         4: .line 833
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 2 /* t */
        start local 2 // java.lang.Throwable t
         5: .line 834
            new java.lang.RuntimeException
            dup
            aload 2 /* t */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.lang.Throwable t
        end local 1 // java.lang.Object arg
        end local 0 // java.lang.invoke.MethodHandle mh
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0    mh  Ljava/lang/invoke/MethodHandle;
            0    6     1   arg  Ljava/lang/Object;
            3    4     2     e  Ljava/lang/Throwable;
            5    6     2     t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.RuntimeException
           0     1       2  Class java.lang.Error
           0     1       4  Class java.lang.Throwable
    MethodParameters:
      Name  Flags
      mh    final
      arg   final

  public jdk.dynalink.linker.GuardedInvocation findFastCallMethod(java.lang.Class<? extends jdk.nashorn.internal.runtime.arrays.ArrayData>, jdk.dynalink.CallSiteDescriptor, jdk.dynalink.linker.LinkRequest);
    descriptor: (Ljava/lang/Class;Ljdk/dynalink/CallSiteDescriptor;Ljdk/dynalink/linker/LinkRequest;)Ljdk/dynalink/linker/GuardedInvocation;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=4, args_size=4
        start local 0 // jdk.nashorn.internal.runtime.arrays.ArrayData this
        start local 1 // java.lang.Class clazz
        start local 2 // jdk.dynalink.CallSiteDescriptor desc
        start local 3 // jdk.dynalink.linker.LinkRequest request
         0: .line 847
            aconst_null
            areturn
        end local 3 // jdk.dynalink.linker.LinkRequest request
        end local 2 // jdk.dynalink.CallSiteDescriptor desc
        end local 1 // java.lang.Class clazz
        end local 0 // jdk.nashorn.internal.runtime.arrays.ArrayData this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            0    1     1    clazz  Ljava/lang/Class<+Ljdk/nashorn/internal/runtime/arrays/ArrayData;>;
            0    1     2     desc  Ljdk/dynalink/CallSiteDescriptor;
            0    1     3  request  Ljdk/dynalink/linker/LinkRequest;
    Signature: (Ljava/lang/Class<+Ljdk/nashorn/internal/runtime/arrays/ArrayData;>;Ljdk/dynalink/CallSiteDescriptor;Ljdk/dynalink/linker/LinkRequest;)Ljdk/dynalink/linker/GuardedInvocation;
    MethodParameters:
         Name  Flags
      clazz    final
      desc     final
      request  final

  public jdk.dynalink.linker.GuardedInvocation findFastGetIndexMethod(java.lang.Class<? extends jdk.nashorn.internal.runtime.arrays.ArrayData>, jdk.dynalink.CallSiteDescriptor, jdk.dynalink.linker.LinkRequest);
    descriptor: (Ljava/lang/Class;Ljdk/dynalink/CallSiteDescriptor;Ljdk/dynalink/linker/LinkRequest;)Ljdk/dynalink/linker/GuardedInvocation;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=4, args_size=4
        start local 0 // jdk.nashorn.internal.runtime.arrays.ArrayData this
        start local 1 // java.lang.Class clazz
        start local 2 // jdk.dynalink.CallSiteDescriptor desc
        start local 3 // jdk.dynalink.linker.LinkRequest request
         0: .line 859
            aconst_null
            areturn
        end local 3 // jdk.dynalink.linker.LinkRequest request
        end local 2 // jdk.dynalink.CallSiteDescriptor desc
        end local 1 // java.lang.Class clazz
        end local 0 // jdk.nashorn.internal.runtime.arrays.ArrayData this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            0    1     1    clazz  Ljava/lang/Class<+Ljdk/nashorn/internal/runtime/arrays/ArrayData;>;
            0    1     2     desc  Ljdk/dynalink/CallSiteDescriptor;
            0    1     3  request  Ljdk/dynalink/linker/LinkRequest;
    Signature: (Ljava/lang/Class<+Ljdk/nashorn/internal/runtime/arrays/ArrayData;>;Ljdk/dynalink/CallSiteDescriptor;Ljdk/dynalink/linker/LinkRequest;)Ljdk/dynalink/linker/GuardedInvocation;
    MethodParameters:
         Name  Flags
      clazz    final
      desc     final
      request  final

  public jdk.dynalink.linker.GuardedInvocation findFastSetIndexMethod(java.lang.Class<? extends jdk.nashorn.internal.runtime.arrays.ArrayData>, jdk.dynalink.CallSiteDescriptor, jdk.dynalink.linker.LinkRequest);
    descriptor: (Ljava/lang/Class;Ljdk/dynalink/CallSiteDescriptor;Ljdk/dynalink/linker/LinkRequest;)Ljdk/dynalink/linker/GuardedInvocation;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=4, args_size=4
        start local 0 // jdk.nashorn.internal.runtime.arrays.ArrayData this
        start local 1 // java.lang.Class clazz
        start local 2 // jdk.dynalink.CallSiteDescriptor desc
        start local 3 // jdk.dynalink.linker.LinkRequest request
         0: .line 871
            aconst_null
            areturn
        end local 3 // jdk.dynalink.linker.LinkRequest request
        end local 2 // jdk.dynalink.CallSiteDescriptor desc
        end local 1 // java.lang.Class clazz
        end local 0 // jdk.nashorn.internal.runtime.arrays.ArrayData this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            0    1     1    clazz  Ljava/lang/Class<+Ljdk/nashorn/internal/runtime/arrays/ArrayData;>;
            0    1     2     desc  Ljdk/dynalink/CallSiteDescriptor;
            0    1     3  request  Ljdk/dynalink/linker/LinkRequest;
    Signature: (Ljava/lang/Class<+Ljdk/nashorn/internal/runtime/arrays/ArrayData;>;Ljdk/dynalink/CallSiteDescriptor;Ljdk/dynalink/linker/LinkRequest;)Ljdk/dynalink/linker/GuardedInvocation;
    MethodParameters:
         Name  Flags
      clazz    final
      desc     final
      request  final
}
SourceFile: "ArrayData.java"
NestMembers:
  jdk.nashorn.internal.runtime.arrays.ArrayData$UntouchedArrayData
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract Call = jdk.nashorn.internal.codegen.CompilerConstants$Call of jdk.nashorn.internal.codegen.CompilerConstants
  private UntouchedArrayData = jdk.nashorn.internal.runtime.arrays.ArrayData$UntouchedArrayData of jdk.nashorn.internal.runtime.arrays.ArrayData