final class jdk.nashorn.internal.objects.NativeFloat64Array$Float64ArrayData extends jdk.nashorn.internal.runtime.arrays.TypedArrayData<java.nio.DoubleBuffer>
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: jdk.nashorn.internal.objects.NativeFloat64Array$Float64ArrayData
  super_class: jdk.nashorn.internal.runtime.arrays.TypedArrayData
{
  private static final java.lang.invoke.MethodHandle GET_ELEM;
    descriptor: Ljava/lang/invoke/MethodHandle;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.invoke.MethodHandle SET_ELEM;
    descriptor: Ljava/lang/invoke/MethodHandle;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=8, locals=0, args_size=0
         0: .line 80
            invokestatic java.lang.invoke.MethodHandles.lookup:()Ljava/lang/invoke/MethodHandles$Lookup;
            ldc Ljdk/nashorn/internal/objects/NativeFloat64Array$Float64ArrayData;
            ldc "getElem"
            getstatic java.lang.Double.TYPE:Ljava/lang/Class;
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
            invokestatic jdk.nashorn.internal.codegen.CompilerConstants.specialCall:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
            invokevirtual jdk.nashorn.internal.codegen.CompilerConstants$Call.methodHandle:()Ljava/lang/invoke/MethodHandle;
            putstatic jdk.nashorn.internal.objects.NativeFloat64Array$Float64ArrayData.GET_ELEM:Ljava/lang/invoke/MethodHandle;
         1: .line 81
            invokestatic java.lang.invoke.MethodHandles.lookup:()Ljava/lang/invoke/MethodHandles$Lookup;
            ldc Ljdk/nashorn/internal/objects/NativeFloat64Array$Float64ArrayData;
            ldc "setElem"
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
            dup
            iconst_1
            getstatic java.lang.Double.TYPE:Ljava/lang/Class;
            aastore
            invokestatic jdk.nashorn.internal.codegen.CompilerConstants.specialCall:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
            invokevirtual jdk.nashorn.internal.codegen.CompilerConstants$Call.methodHandle:()Ljava/lang/invoke/MethodHandle;
            putstatic jdk.nashorn.internal.objects.NativeFloat64Array$Float64ArrayData.SET_ELEM:Ljava/lang/invoke/MethodHandle;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>(java.nio.DoubleBuffer, int, int);
    descriptor: (Ljava/nio/DoubleBuffer;II)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // jdk.nashorn.internal.objects.NativeFloat64Array$Float64ArrayData this
        start local 1 // java.nio.DoubleBuffer nb
        start local 2 // int start
        start local 3 // int end
         0: .line 84
            aload 0 /* this */
            aload 1 /* nb */
            iload 2 /* start */
            invokevirtual java.nio.DoubleBuffer.position:(I)Ljava/nio/DoubleBuffer;
            iload 3 /* end */
            invokevirtual java.nio.DoubleBuffer.limit:(I)Ljava/nio/DoubleBuffer;
            invokevirtual java.nio.DoubleBuffer.slice:()Ljava/nio/DoubleBuffer;
            iload 3 /* end */
            iload 2 /* start */
            isub
            invokespecial jdk.nashorn.internal.runtime.arrays.TypedArrayData.<init>:(Ljava/nio/Buffer;I)V
         1: .line 85
            return
        end local 3 // int end
        end local 2 // int start
        end local 1 // java.nio.DoubleBuffer nb
        end local 0 // jdk.nashorn.internal.objects.NativeFloat64Array$Float64ArrayData this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Ljdk/nashorn/internal/objects/NativeFloat64Array$Float64ArrayData;
            0    2     1     nb  Ljava/nio/DoubleBuffer;
            0    2     2  start  I
            0    2     3    end  I
    MethodParameters:
       Name  Flags
      nb     final
      start  final
      end    final

  protected java.lang.invoke.MethodHandle getGetElem();
    descriptor: ()Ljava/lang/invoke/MethodHandle;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.objects.NativeFloat64Array$Float64ArrayData this
         0: .line 89
            getstatic jdk.nashorn.internal.objects.NativeFloat64Array$Float64ArrayData.GET_ELEM:Ljava/lang/invoke/MethodHandle;
            areturn
        end local 0 // jdk.nashorn.internal.objects.NativeFloat64Array$Float64ArrayData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/objects/NativeFloat64Array$Float64ArrayData;

  protected java.lang.invoke.MethodHandle getSetElem();
    descriptor: ()Ljava/lang/invoke/MethodHandle;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.objects.NativeFloat64Array$Float64ArrayData this
         0: .line 94
            getstatic jdk.nashorn.internal.objects.NativeFloat64Array$Float64ArrayData.SET_ELEM:Ljava/lang/invoke/MethodHandle;
            areturn
        end local 0 // jdk.nashorn.internal.objects.NativeFloat64Array$Float64ArrayData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/objects/NativeFloat64Array$Float64ArrayData;

  public java.lang.Class<?> getElementType();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.objects.NativeFloat64Array$Float64ArrayData this
         0: .line 99
            getstatic java.lang.Double.TYPE:Ljava/lang/Class;
            areturn
        end local 0 // jdk.nashorn.internal.objects.NativeFloat64Array$Float64ArrayData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/objects/NativeFloat64Array$Float64ArrayData;
    Signature: ()Ljava/lang/Class<*>;

  public java.lang.Class<?> getBoxedElementType();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.objects.NativeFloat64Array$Float64ArrayData this
         0: .line 104
            ldc Ljava/lang/Double;
            areturn
        end local 0 // jdk.nashorn.internal.objects.NativeFloat64Array$Float64ArrayData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/objects/NativeFloat64Array$Float64ArrayData;
    Signature: ()Ljava/lang/Class<*>;

  private double getElem(int);
    descriptor: (I)D
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.objects.NativeFloat64Array$Float64ArrayData this
        start local 1 // int index
         0: .line 109
            aload 0 /* this */
            getfield jdk.nashorn.internal.objects.NativeFloat64Array$Float64ArrayData.nb:Ljava/nio/Buffer;
            checkcast java.nio.DoubleBuffer
            iload 1 /* index */
            invokevirtual java.nio.DoubleBuffer.get:(I)D
         1: dreturn
         2: .line 110
      StackMap locals:
      StackMap stack: java.lang.IndexOutOfBoundsException
            pop
         3: .line 111
            new java.lang.ClassCastException
            dup
            invokespecial java.lang.ClassCastException.<init>:()V
            athrow
        end local 1 // int index
        end local 0 // jdk.nashorn.internal.objects.NativeFloat64Array$Float64ArrayData this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Ljdk/nashorn/internal/objects/NativeFloat64Array$Float64ArrayData;
            0    4     1  index  I
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.IndexOutOfBoundsException
    MethodParameters:
       Name  Flags
      index  final

  private void setElem(int, double);
    descriptor: (ID)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // jdk.nashorn.internal.objects.NativeFloat64Array$Float64ArrayData this
        start local 1 // int index
        start local 2 // double elem
         0: .line 117
            iload 1 /* index */
            aload 0 /* this */
            getfield jdk.nashorn.internal.objects.NativeFloat64Array$Float64ArrayData.nb:Ljava/nio/Buffer;
            checkcast java.nio.DoubleBuffer
            invokevirtual java.nio.DoubleBuffer.limit:()I
            if_icmpge 5
         1: .line 118
            aload 0 /* this */
            getfield jdk.nashorn.internal.objects.NativeFloat64Array$Float64ArrayData.nb:Ljava/nio/Buffer;
            checkcast java.nio.DoubleBuffer
            iload 1 /* index */
            dload 2 /* elem */
            invokevirtual java.nio.DoubleBuffer.put:(ID)Ljava/nio/DoubleBuffer;
            pop
         2: .line 120
            goto 5
      StackMap locals:
      StackMap stack: java.lang.IndexOutOfBoundsException
         3: pop
         4: .line 121
            new java.lang.ClassCastException
            dup
            invokespecial java.lang.ClassCastException.<init>:()V
            athrow
         5: .line 123
      StackMap locals:
      StackMap stack:
            return
        end local 2 // double elem
        end local 1 // int index
        end local 0 // jdk.nashorn.internal.objects.NativeFloat64Array$Float64ArrayData this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Ljdk/nashorn/internal/objects/NativeFloat64Array$Float64ArrayData;
            0    6     1  index  I
            0    6     2   elem  D
      Exception table:
        from    to  target  type
           0     2       3  Class java.lang.IndexOutOfBoundsException
    MethodParameters:
       Name  Flags
      index  final
      elem   final

  public java.lang.invoke.MethodHandle getElementGetter(java.lang.Class<?>, int);
    descriptor: (Ljava/lang/Class;I)Ljava/lang/invoke/MethodHandle;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // jdk.nashorn.internal.objects.NativeFloat64Array$Float64ArrayData this
        start local 1 // java.lang.Class returnType
        start local 2 // int programPoint
         0: .line 127
            aload 1 /* returnType */
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            if_acmpne 2
         1: .line 128
            aconst_null
            areturn
         2: .line 130
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            getstatic jdk.nashorn.internal.objects.NativeFloat64Array$Float64ArrayData.GET_ELEM:Ljava/lang/invoke/MethodHandle;
            aload 1 /* returnType */
            iload 2 /* programPoint */
            invokevirtual jdk.nashorn.internal.objects.NativeFloat64Array$Float64ArrayData.getContinuousElementGetter:(Ljava/lang/Class;Ljava/lang/invoke/MethodHandle;Ljava/lang/Class;I)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 2 // int programPoint
        end local 1 // java.lang.Class returnType
        end local 0 // jdk.nashorn.internal.objects.NativeFloat64Array$Float64ArrayData this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Ljdk/nashorn/internal/objects/NativeFloat64Array$Float64ArrayData;
            0    3     1    returnType  Ljava/lang/Class<*>;
            0    3     2  programPoint  I
    Signature: (Ljava/lang/Class<*>;I)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
              Name  Flags
      returnType    final
      programPoint  final

  public int getInt(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.objects.NativeFloat64Array$Float64ArrayData this
        start local 1 // int index
         0: .line 135
            aload 0 /* this */
            iload 1 /* index */
            invokevirtual jdk.nashorn.internal.objects.NativeFloat64Array$Float64ArrayData.getDouble:(I)D
            d2i
            ireturn
        end local 1 // int index
        end local 0 // jdk.nashorn.internal.objects.NativeFloat64Array$Float64ArrayData this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Ljdk/nashorn/internal/objects/NativeFloat64Array$Float64ArrayData;
            0    1     1  index  I
    MethodParameters:
       Name  Flags
      index  final

  public double getDouble(int);
    descriptor: (I)D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.objects.NativeFloat64Array$Float64ArrayData this
        start local 1 // int index
         0: .line 140
            aload 0 /* this */
            iload 1 /* index */
            invokevirtual jdk.nashorn.internal.objects.NativeFloat64Array$Float64ArrayData.getElem:(I)D
            dreturn
        end local 1 // int index
        end local 0 // jdk.nashorn.internal.objects.NativeFloat64Array$Float64ArrayData this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Ljdk/nashorn/internal/objects/NativeFloat64Array$Float64ArrayData;
            0    1     1  index  I
    MethodParameters:
       Name  Flags
      index  final

  public double getDoubleOptimistic(int, int);
    descriptor: (II)D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // jdk.nashorn.internal.objects.NativeFloat64Array$Float64ArrayData this
        start local 1 // int index
        start local 2 // int programPoint
         0: .line 145
            aload 0 /* this */
            iload 1 /* index */
            invokevirtual jdk.nashorn.internal.objects.NativeFloat64Array$Float64ArrayData.getElem:(I)D
            dreturn
        end local 2 // int programPoint
        end local 1 // int index
        end local 0 // jdk.nashorn.internal.objects.NativeFloat64Array$Float64ArrayData this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Ljdk/nashorn/internal/objects/NativeFloat64Array$Float64ArrayData;
            0    1     1         index  I
            0    1     2  programPoint  I
    MethodParameters:
              Name  Flags
      index         final
      programPoint  final

  public java.lang.Object getObject(int);
    descriptor: (I)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.objects.NativeFloat64Array$Float64ArrayData this
        start local 1 // int index
         0: .line 150
            aload 0 /* this */
            iload 1 /* index */
            invokevirtual jdk.nashorn.internal.objects.NativeFloat64Array$Float64ArrayData.getDouble:(I)D
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            areturn
        end local 1 // int index
        end local 0 // jdk.nashorn.internal.objects.NativeFloat64Array$Float64ArrayData this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Ljdk/nashorn/internal/objects/NativeFloat64Array$Float64ArrayData;
            0    1     1  index  I
    MethodParameters:
       Name  Flags
      index  final

  public jdk.nashorn.internal.runtime.arrays.ArrayData set(int, java.lang.Object, boolean);
    descriptor: (ILjava/lang/Object;Z)Ljdk/nashorn/internal/runtime/arrays/ArrayData;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // jdk.nashorn.internal.objects.NativeFloat64Array$Float64ArrayData this
        start local 1 // int index
        start local 2 // java.lang.Object value
        start local 3 // boolean strict
         0: .line 155
            aload 0 /* this */
            iload 1 /* index */
            aload 2 /* value */
            invokestatic jdk.nashorn.internal.runtime.JSType.toNumber:(Ljava/lang/Object;)D
            iload 3 /* strict */
            invokevirtual jdk.nashorn.internal.objects.NativeFloat64Array$Float64ArrayData.set:(IDZ)Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            areturn
        end local 3 // boolean strict
        end local 2 // java.lang.Object value
        end local 1 // int index
        end local 0 // jdk.nashorn.internal.objects.NativeFloat64Array$Float64ArrayData this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Ljdk/nashorn/internal/objects/NativeFloat64Array$Float64ArrayData;
            0    1     1   index  I
            0    1     2   value  Ljava/lang/Object;
            0    1     3  strict  Z
    MethodParameters:
        Name  Flags
      index   final
      value   final
      strict  final

  public jdk.nashorn.internal.runtime.arrays.ArrayData set(int, int, boolean);
    descriptor: (IIZ)Ljdk/nashorn/internal/runtime/arrays/ArrayData;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // jdk.nashorn.internal.objects.NativeFloat64Array$Float64ArrayData this
        start local 1 // int index
        start local 2 // int value
        start local 3 // boolean strict
         0: .line 160
            aload 0 /* this */
            iload 1 /* index */
            iload 2 /* value */
            i2d
            iload 3 /* strict */
            invokevirtual jdk.nashorn.internal.objects.NativeFloat64Array$Float64ArrayData.set:(IDZ)Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            areturn
        end local 3 // boolean strict
        end local 2 // int value
        end local 1 // int index
        end local 0 // jdk.nashorn.internal.objects.NativeFloat64Array$Float64ArrayData this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Ljdk/nashorn/internal/objects/NativeFloat64Array$Float64ArrayData;
            0    1     1   index  I
            0    1     2   value  I
            0    1     3  strict  Z
    MethodParameters:
        Name  Flags
      index   final
      value   final
      strict  final

  public jdk.nashorn.internal.runtime.arrays.ArrayData set(int, double, boolean);
    descriptor: (IDZ)Ljdk/nashorn/internal/runtime/arrays/ArrayData;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // jdk.nashorn.internal.objects.NativeFloat64Array$Float64ArrayData this
        start local 1 // int index
        start local 2 // double value
        start local 4 // boolean strict
         0: .line 165
            aload 0 /* this */
            iload 1 /* index */
            dload 2 /* value */
            invokevirtual jdk.nashorn.internal.objects.NativeFloat64Array$Float64ArrayData.setElem:(ID)V
         1: .line 166
            aload 0 /* this */
            areturn
        end local 4 // boolean strict
        end local 2 // double value
        end local 1 // int index
        end local 0 // jdk.nashorn.internal.objects.NativeFloat64Array$Float64ArrayData this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Ljdk/nashorn/internal/objects/NativeFloat64Array$Float64ArrayData;
            0    2     1   index  I
            0    2     2   value  D
            0    2     4  strict  Z
    MethodParameters:
        Name  Flags
      index   final
      value   final
      strict  final
}
Signature: Ljdk/nashorn/internal/runtime/arrays/TypedArrayData<Ljava/nio/DoubleBuffer;>;
SourceFile: "NativeFloat64Array.java"
NestHost: jdk.nashorn.internal.objects.NativeFloat64Array
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 final Float64ArrayData = jdk.nashorn.internal.objects.NativeFloat64Array$Float64ArrayData of jdk.nashorn.internal.objects.NativeFloat64Array