final class com.oracle.truffle.js.runtime.builtins.JSArrayFactory$ArgumentsObject extends com.oracle.truffle.js.runtime.builtins.JSArrayFactory$Intrinsic
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: com.oracle.truffle.js.runtime.builtins.JSArrayFactory$ArgumentsObject
  super_class: com.oracle.truffle.js.runtime.builtins.JSArrayFactory$Intrinsic
{
  private final boolean mapped;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  protected void <init>(com.oracle.truffle.js.runtime.JSContext, int, boolean);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;IZ)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.oracle.truffle.js.runtime.builtins.JSArrayFactory$ArgumentsObject this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // int slot
        start local 3 // boolean mapped
         0: .line 177
            aload 0 /* this */
            aload 1 /* context */
            getstatic com.oracle.truffle.js.runtime.builtins.JSArgumentsArray.INSTANCE:Lcom/oracle/truffle/js/runtime/builtins/JSArgumentsArray;
            invokestatic com.oracle.truffle.js.runtime.builtins.JSObjectFactory.defaultShapeSupplier:(Lcom/oracle/truffle/js/runtime/builtins/JSClass;)Lcom/oracle/truffle/js/runtime/util/CompilableBiFunction;
            iload 2 /* slot */
            invokespecial com.oracle.truffle.js.runtime.builtins.JSArrayFactory$Intrinsic.<init>:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/runtime/util/CompilableBiFunction;I)V
         1: .line 178
            aload 0 /* this */
            iload 3 /* mapped */
            putfield com.oracle.truffle.js.runtime.builtins.JSArrayFactory$ArgumentsObject.mapped:Z
         2: .line 179
            return
        end local 3 // boolean mapped
        end local 2 // int slot
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.runtime.builtins.JSArrayFactory$ArgumentsObject this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lcom/oracle/truffle/js/runtime/builtins/JSArrayFactory$ArgumentsObject;
            0    3     1  context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    3     2     slot  I
            0    3     3   mapped  Z
    MethodParameters:
         Name  Flags
      context  
      slot     
      mapped   

  protected com.oracle.truffle.api.object.DynamicObject getPrototype(com.oracle.truffle.js.runtime.JSRealm);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSRealm;)Lcom/oracle/truffle/api/object/DynamicObject;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.runtime.builtins.JSArrayFactory$ArgumentsObject this
        start local 1 // com.oracle.truffle.js.runtime.JSRealm realm
         0: .line 183
            aload 1 /* realm */
            invokevirtual com.oracle.truffle.js.runtime.JSRealm.getObjectPrototype:()Lcom/oracle/truffle/api/object/DynamicObject;
            areturn
        end local 1 // com.oracle.truffle.js.runtime.JSRealm realm
        end local 0 // com.oracle.truffle.js.runtime.builtins.JSArrayFactory$ArgumentsObject this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/oracle/truffle/js/runtime/builtins/JSArrayFactory$ArgumentsObject;
            0    1     1  realm  Lcom/oracle/truffle/js/runtime/JSRealm;
    MethodParameters:
       Name  Flags
      realm  

  protected com.oracle.truffle.api.object.DynamicObject newInstance(com.oracle.truffle.api.object.Shape, com.oracle.truffle.js.runtime.array.ScriptArray, java.lang.Object, com.oracle.truffle.js.runtime.array.ArrayAllocationSite, long, int, int, int, int);
    descriptor: (Lcom/oracle/truffle/api/object/Shape;Lcom/oracle/truffle/js/runtime/array/ScriptArray;Ljava/lang/Object;Lcom/oracle/truffle/js/runtime/array/ArrayAllocationSite;JIIII)Lcom/oracle/truffle/api/object/DynamicObject;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=12, args_size=10
        start local 0 // com.oracle.truffle.js.runtime.builtins.JSArrayFactory$ArgumentsObject this
        start local 1 // com.oracle.truffle.api.object.Shape shape
        start local 2 // com.oracle.truffle.js.runtime.array.ScriptArray arrayType
        start local 3 // java.lang.Object array
        start local 4 // com.oracle.truffle.js.runtime.array.ArrayAllocationSite site
        start local 5 // long length
        start local 7 // int usedLength
        start local 8 // int indexOffset
        start local 9 // int arrayOffset
        start local 10 // int holeCount
         0: .line 188
            aload 3 /* array */
            checkcast java.lang.Object[]
            astore 11 /* elements */
        start local 11 // java.lang.Object[] elements
         1: .line 189
            aload 0 /* this */
            getfield com.oracle.truffle.js.runtime.builtins.JSArrayFactory$ArgumentsObject.mapped:Z
            ifeq 3
         2: .line 190
            aload 1 /* shape */
            aload 11 /* elements */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSArgumentsArray.createMapped:(Lcom/oracle/truffle/api/object/Shape;[Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/builtins/JSArgumentsObject$Mapped;
            areturn
         3: .line 192
      StackMap locals: java.lang.Object[]
      StackMap stack:
            aload 1 /* shape */
            aload 11 /* elements */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSArgumentsArray.createUnmapped:(Lcom/oracle/truffle/api/object/Shape;[Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/builtins/JSArgumentsObject$Unmapped;
            areturn
        end local 11 // java.lang.Object[] elements
        end local 10 // int holeCount
        end local 9 // int arrayOffset
        end local 8 // int indexOffset
        end local 7 // int usedLength
        end local 5 // long length
        end local 4 // com.oracle.truffle.js.runtime.array.ArrayAllocationSite site
        end local 3 // java.lang.Object array
        end local 2 // com.oracle.truffle.js.runtime.array.ScriptArray arrayType
        end local 1 // com.oracle.truffle.api.object.Shape shape
        end local 0 // com.oracle.truffle.js.runtime.builtins.JSArrayFactory$ArgumentsObject this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lcom/oracle/truffle/js/runtime/builtins/JSArrayFactory$ArgumentsObject;
            0    4     1        shape  Lcom/oracle/truffle/api/object/Shape;
            0    4     2    arrayType  Lcom/oracle/truffle/js/runtime/array/ScriptArray;
            0    4     3        array  Ljava/lang/Object;
            0    4     4         site  Lcom/oracle/truffle/js/runtime/array/ArrayAllocationSite;
            0    4     5       length  J
            0    4     7   usedLength  I
            0    4     8  indexOffset  I
            0    4     9  arrayOffset  I
            0    4    10    holeCount  I
            1    4    11     elements  [Ljava/lang/Object;
    MethodParameters:
             Name  Flags
      shape        
      arrayType    
      array        
      site         
      length       
      usedLength   
      indexOffset  
      arrayOffset  
      holeCount    
}
SourceFile: "JSArrayFactory.java"
NestHost: com.oracle.truffle.js.runtime.builtins.JSArrayFactory
InnerClasses:
  public final Mapped = com.oracle.truffle.js.runtime.builtins.JSArgumentsObject$Mapped of com.oracle.truffle.js.runtime.builtins.JSArgumentsObject
  public final Unmapped = com.oracle.truffle.js.runtime.builtins.JSArgumentsObject$Unmapped of com.oracle.truffle.js.runtime.builtins.JSArgumentsObject
  private final ArgumentsObject = com.oracle.truffle.js.runtime.builtins.JSArrayFactory$ArgumentsObject of com.oracle.truffle.js.runtime.builtins.JSArrayFactory
  private Intrinsic = com.oracle.truffle.js.runtime.builtins.JSArrayFactory$Intrinsic of com.oracle.truffle.js.runtime.builtins.JSArrayFactory