public abstract class com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode extends com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructWithNewTargetNode
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode
  super_class: com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructWithNewTargetNode
{
  private com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode$ConstructArrayAllocationSite arrayAllocationSite;
    descriptor: Lcom/oracle/truffle/js/builtins/ConstructorBuiltins$ConstructArrayNode$ConstructArrayAllocationSite;
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$CompilationFinal()

  public void <init>(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.js.nodes.function.JSBuiltin, boolean);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/function/JSBuiltin;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // com.oracle.truffle.js.nodes.function.JSBuiltin builtin
        start local 3 // boolean isNewTargetCase
         0: .line 615
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* builtin */
            iload 3 /* isNewTargetCase */
            invokespecial com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructWithNewTargetNode.<init>:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/function/JSBuiltin;Z)V
         1: .line 618
            aload 0 /* this */
            invokestatic com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode.createAllocationSite:()Lcom/oracle/truffle/js/builtins/ConstructorBuiltins$ConstructArrayNode$ConstructArrayAllocationSite;
            putfield com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode.arrayAllocationSite:Lcom/oracle/truffle/js/builtins/ConstructorBuiltins$ConstructArrayNode$ConstructArrayAllocationSite;
         2: .line 616
            return
        end local 3 // boolean isNewTargetCase
        end local 2 // com.oracle.truffle.js.nodes.function.JSBuiltin builtin
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    3     0             this  Lcom/oracle/truffle/js/builtins/ConstructorBuiltins$ConstructArrayNode;
            0    3     1          context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    3     2          builtin  Lcom/oracle/truffle/js/nodes/function/JSBuiltin;
            0    3     3  isNewTargetCase  Z
    MethodParameters:
                 Name  Flags
      context          
      builtin          
      isNewTargetCase  

  protected static boolean isOneNumberArg(java.lang.Object[]);
    descriptor: ([Ljava/lang/Object;)Z
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Object[] args
         0: .line 621
            aload 0 /* args */
            arraylength
            iconst_1
            if_icmpne 1
            aload 0 /* args */
            iconst_0
            aaload
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isNumber:(Ljava/lang/Object;)Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // java.lang.Object[] args
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  args  [Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      args  

  protected static boolean isOneForeignArg(java.lang.Object[]);
    descriptor: ([Ljava/lang/Object;)Z
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Object[] args
         0: .line 625
            aload 0 /* args */
            arraylength
            iconst_1
            if_icmpne 1
            aload 0 /* args */
            iconst_0
            aaload
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isForeignObject:(Ljava/lang/Object;)Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // java.lang.Object[] args
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  args  [Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      args  

  protected static boolean isOneIntegerArg(java.lang.Object[]);
    descriptor: ([Ljava/lang/Object;)Z
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Object[] args
         0: .line 629
            aload 0 /* args */
            arraylength
            iconst_1
            if_icmpne 1
            aload 0 /* args */
            iconst_0
            aaload
            instanceof java.lang.Integer
            ifeq 1
            aload 0 /* args */
            iconst_0
            aaload
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            iflt 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // java.lang.Object[] args
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  args  [Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      args  

  protected com.oracle.truffle.api.object.DynamicObject constructArray0(com.oracle.truffle.api.object.DynamicObject, java.lang.Object[]);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;[Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObject;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode this
        start local 1 // com.oracle.truffle.api.object.DynamicObject newTarget
        start local 2 // java.lang.Object[] args
         0: .line 634
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
            aload 0 /* this */
            getfield com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode.arrayAllocationSite:Lcom/oracle/truffle/js/builtins/ConstructorBuiltins$ConstructArrayNode$ConstructArrayAllocationSite;
            invokestatic com.oracle.truffle.js.runtime.builtins.JSArray.createConstantEmptyArray:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/runtime/array/ArrayAllocationSite;)Lcom/oracle/truffle/api/object/DynamicObject;
            aload 1 /* newTarget */
            invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode.swapPrototype:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/DynamicObject;
            areturn
        end local 2 // java.lang.Object[] args
        end local 1 // com.oracle.truffle.api.object.DynamicObject newTarget
        end local 0 // com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lcom/oracle/truffle/js/builtins/ConstructorBuiltins$ConstructArrayNode;
            0    1     1  newTarget  Lcom/oracle/truffle/api/object/DynamicObject;
            0    1     2       args  [Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.dsl.Specialization(guards = {"args.length == 0"})
    MethodParameters:
           Name  Flags
      newTarget  
      args       

  protected com.oracle.truffle.api.object.DynamicObject constructArrayWithIntLength(com.oracle.truffle.api.object.DynamicObject, java.lang.Object[]);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;[Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObject;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode this
        start local 1 // com.oracle.truffle.api.object.DynamicObject newTarget
        start local 2 // java.lang.Object[] args
         0: .line 639
            aload 2 /* args */
            iconst_0
            aaload
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            istore 3 /* length */
        start local 3 // int length
         1: .line 640
            getstatic com.oracle.truffle.js.runtime.JSConfig.TrackArrayAllocationSites:Z
            ifeq 5
            aload 0 /* this */
            getfield com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode.arrayAllocationSite:Lcom/oracle/truffle/js/builtins/ConstructorBuiltins$ConstructArrayNode$ConstructArrayAllocationSite;
            ifnull 5
            aload 0 /* this */
            getfield com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode.arrayAllocationSite:Lcom/oracle/truffle/js/builtins/ConstructorBuiltins$ConstructArrayNode$ConstructArrayAllocationSite;
            invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode$ConstructArrayAllocationSite.isTyped:()Z
            ifeq 5
         2: .line 641
            aload 0 /* this */
            getfield com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode.arrayAllocationSite:Lcom/oracle/truffle/js/builtins/ConstructorBuiltins$ConstructArrayNode$ConstructArrayAllocationSite;
            invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode$ConstructArrayAllocationSite.getInitialArrayType:()Lcom/oracle/truffle/js/runtime/array/ScriptArray;
            astore 4 /* initialType */
        start local 4 // com.oracle.truffle.js.runtime.array.ScriptArray initialType
         3: .line 643
            aload 4 /* initialType */
            ifnull 5
         4: .line 644
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
            aload 4 /* initialType */
            aload 4 /* initialType */
            checkcast com.oracle.truffle.js.runtime.array.dyn.AbstractWritableArray
            iload 3 /* length */
            invokevirtual com.oracle.truffle.js.runtime.array.dyn.AbstractWritableArray.allocateArray:(I)Ljava/lang/Object;
            iload 3 /* length */
            i2l
            invokestatic com.oracle.truffle.js.runtime.builtins.JSArray.create:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/runtime/array/ScriptArray;Ljava/lang/Object;J)Lcom/oracle/truffle/api/object/DynamicObject;
            aload 1 /* newTarget */
            invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode.swapPrototype:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/DynamicObject;
            areturn
        end local 4 // com.oracle.truffle.js.runtime.array.ScriptArray initialType
         5: .line 647
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
            aload 0 /* this */
            getfield com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode.arrayAllocationSite:Lcom/oracle/truffle/js/builtins/ConstructorBuiltins$ConstructArrayNode$ConstructArrayAllocationSite;
            iload 3 /* length */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSArray.createConstantEmptyArray:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/runtime/array/ArrayAllocationSite;I)Lcom/oracle/truffle/api/object/DynamicObject;
            aload 1 /* newTarget */
            invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode.swapPrototype:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/DynamicObject;
            areturn
        end local 3 // int length
        end local 2 // java.lang.Object[] args
        end local 1 // com.oracle.truffle.api.object.DynamicObject newTarget
        end local 0 // com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0         this  Lcom/oracle/truffle/js/builtins/ConstructorBuiltins$ConstructArrayNode;
            0    6     1    newTarget  Lcom/oracle/truffle/api/object/DynamicObject;
            0    6     2         args  [Ljava/lang/Object;
            1    6     3       length  I
            3    5     4  initialType  Lcom/oracle/truffle/js/runtime/array/ScriptArray;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.dsl.Specialization(guards = {"isOneIntegerArg(args)"})
    MethodParameters:
           Name  Flags
      newTarget  
      args       

  protected com.oracle.truffle.api.object.DynamicObject constructWithLength(com.oracle.truffle.api.object.DynamicObject, java.lang.Object[], com.oracle.truffle.js.nodes.cast.ToArrayLengthNode, com.oracle.truffle.js.nodes.array.ArrayCreateNode, long);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;[Ljava/lang/Object;Lcom/oracle/truffle/js/nodes/cast/ToArrayLengthNode;Lcom/oracle/truffle/js/nodes/array/ArrayCreateNode;J)Lcom/oracle/truffle/api/object/DynamicObject;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=8, args_size=6
        start local 0 // com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode this
        start local 1 // com.oracle.truffle.api.object.DynamicObject newTarget
        start local 2 // java.lang.Object[] args
        start local 3 // com.oracle.truffle.js.nodes.cast.ToArrayLengthNode toArrayLengthNode
        start local 4 // com.oracle.truffle.js.nodes.array.ArrayCreateNode arrayCreateNode
        start local 5 // long len
         0: .line 655
            aload 4 /* arrayCreateNode */
            lload 5 /* len */
            invokevirtual com.oracle.truffle.js.nodes.array.ArrayCreateNode.execute:(J)Lcom/oracle/truffle/api/object/DynamicObject;
            astore 7 /* array */
        start local 7 // com.oracle.truffle.api.object.DynamicObject array
         1: .line 656
            aload 0 /* this */
            aload 7 /* array */
            aload 1 /* newTarget */
            invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode.swapPrototype:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/DynamicObject;
            areturn
        end local 7 // com.oracle.truffle.api.object.DynamicObject array
        end local 5 // long len
        end local 4 // com.oracle.truffle.js.nodes.array.ArrayCreateNode arrayCreateNode
        end local 3 // com.oracle.truffle.js.nodes.cast.ToArrayLengthNode toArrayLengthNode
        end local 2 // java.lang.Object[] args
        end local 1 // com.oracle.truffle.api.object.DynamicObject newTarget
        end local 0 // com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    2     0               this  Lcom/oracle/truffle/js/builtins/ConstructorBuiltins$ConstructArrayNode;
            0    2     1          newTarget  Lcom/oracle/truffle/api/object/DynamicObject;
            0    2     2               args  [Ljava/lang/Object;
            0    2     3  toArrayLengthNode  Lcom/oracle/truffle/js/nodes/cast/ToArrayLengthNode;
            0    2     4    arrayCreateNode  Lcom/oracle/truffle/js/nodes/array/ArrayCreateNode;
            0    2     5                len  J
            1    2     7              array  Lcom/oracle/truffle/api/object/DynamicObject;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.dsl.Specialization(guards = {"args.length == 1", "toArrayLengthNode.isTypeNumber(len)"}, replaces = {"constructArrayWithIntLength"})
    RuntimeInvisibleParameterAnnotations: 
      0:
      1:
      2:
        com.oracle.truffle.api.dsl.Cached()
      3:
        com.oracle.truffle.api.dsl.Cached(value = "create(getContext())")
      4:
        com.oracle.truffle.api.dsl.Bind(value = "toArrayLengthNode.executeLong(firstArg(args))")
    MethodParameters:
                   Name  Flags
      newTarget          
      args               
      toArrayLengthNode  
      arrayCreateNode    
      len                

  static java.lang.Object firstArg(java.lang.Object[]);
    descriptor: ([Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Object[] arguments
         0: .line 660
            aload 0 /* arguments */
            iconst_0
            aaload
            areturn
        end local 0 // java.lang.Object[] arguments
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0  arguments  [Ljava/lang/Object;
    MethodParameters:
           Name  Flags
      arguments  

  protected com.oracle.truffle.api.object.DynamicObject constructWithForeignArg(com.oracle.truffle.api.object.DynamicObject, java.lang.Object[], com.oracle.truffle.api.interop.InteropLibrary, com.oracle.truffle.js.nodes.array.ArrayCreateNode, com.oracle.truffle.api.profiles.ConditionProfile, com.oracle.truffle.api.profiles.BranchProfile);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;[Ljava/lang/Object;Lcom/oracle/truffle/api/interop/InteropLibrary;Lcom/oracle/truffle/js/nodes/array/ArrayCreateNode;Lcom/oracle/truffle/api/profiles/ConditionProfile;Lcom/oracle/truffle/api/profiles/BranchProfile;)Lcom/oracle/truffle/api/object/DynamicObject;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=11, args_size=7
        start local 0 // com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode this
        start local 1 // com.oracle.truffle.api.object.DynamicObject newTarget
        start local 2 // java.lang.Object[] args
        start local 3 // com.oracle.truffle.api.interop.InteropLibrary interop
        start local 4 // com.oracle.truffle.js.nodes.array.ArrayCreateNode arrayCreateNode
        start local 5 // com.oracle.truffle.api.profiles.ConditionProfile isNumber
        start local 6 // com.oracle.truffle.api.profiles.BranchProfile rangeErrorProfile
         0: .line 669
            aload 2 /* args */
            iconst_0
            aaload
            astore 7 /* len */
        start local 7 // java.lang.Object len
         1: .line 670
            aload 5 /* isNumber */
            aload 3 /* interop */
            aload 7 /* len */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isNumber:(Ljava/lang/Object;)Z
            invokevirtual com.oracle.truffle.api.profiles.ConditionProfile.profile:(Z)Z
            ifeq 13
         2: .line 671
            aload 3 /* interop */
            aload 7 /* len */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.fitsInLong:(Ljava/lang/Object;)Z
            ifeq 11
         3: .line 673
            aload 3 /* interop */
            aload 7 /* len */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asLong:(Ljava/lang/Object;)J
            lstore 8 /* length */
        start local 8 // long length
         4: .line 674
            lload 8 /* length */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isArrayIndex:(J)Z
            ifeq 11
         5: .line 675
            aload 4 /* arrayCreateNode */
            lload 8 /* length */
            invokevirtual com.oracle.truffle.js.nodes.array.ArrayCreateNode.execute:(J)Lcom/oracle/truffle/api/object/DynamicObject;
            astore 10 /* array */
        start local 10 // com.oracle.truffle.api.object.DynamicObject array
         6: .line 676
            aload 0 /* this */
            aload 10 /* array */
            aload 1 /* newTarget */
            invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode.swapPrototype:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/DynamicObject;
         7: areturn
        end local 10 // com.oracle.truffle.api.object.DynamicObject array
        end local 8 // long length
         8: .line 678
      StackMap locals: com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode com.oracle.truffle.api.object.DynamicObject java.lang.Object[] com.oracle.truffle.api.interop.InteropLibrary com.oracle.truffle.js.nodes.array.ArrayCreateNode com.oracle.truffle.api.profiles.ConditionProfile com.oracle.truffle.api.profiles.BranchProfile java.lang.Object
      StackMap stack: com.oracle.truffle.api.interop.UnsupportedMessageException
            astore 8 /* umex */
        start local 8 // com.oracle.truffle.api.interop.UnsupportedMessageException umex
         9: .line 679
            aload 6 /* rangeErrorProfile */
            invokevirtual com.oracle.truffle.api.profiles.BranchProfile.enter:()V
        10: .line 680
            aload 7 /* len */
            aload 8 /* umex */
            ldc "asLong"
            aload 0 /* this */
            invokestatic com.oracle.truffle.js.runtime.Errors.createTypeErrorInteropException:(Ljava/lang/Object;Lcom/oracle/truffle/api/interop/InteropException;Ljava/lang/String;Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/js/runtime/JSException;
            athrow
        end local 8 // com.oracle.truffle.api.interop.UnsupportedMessageException umex
        11: .line 683
      StackMap locals:
      StackMap stack:
            aload 6 /* rangeErrorProfile */
            invokevirtual com.oracle.truffle.api.profiles.BranchProfile.enter:()V
        12: .line 684
            invokestatic com.oracle.truffle.js.runtime.Errors.createRangeErrorInvalidArrayLength:()Lcom/oracle/truffle/js/runtime/JSException;
            athrow
        13: .line 686
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
            invokestatic com.oracle.truffle.js.runtime.array.dyn.ConstantObjectArray.createConstantObjectArray:()Lcom/oracle/truffle/js/runtime/array/dyn/ConstantObjectArray;
            aload 2 /* args */
            lconst_1
            invokestatic com.oracle.truffle.js.runtime.builtins.JSArray.create:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/runtime/array/ScriptArray;Ljava/lang/Object;J)Lcom/oracle/truffle/api/object/DynamicObject;
            aload 1 /* newTarget */
            invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode.swapPrototype:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/DynamicObject;
            areturn
        end local 7 // java.lang.Object len
        end local 6 // com.oracle.truffle.api.profiles.BranchProfile rangeErrorProfile
        end local 5 // com.oracle.truffle.api.profiles.ConditionProfile isNumber
        end local 4 // com.oracle.truffle.js.nodes.array.ArrayCreateNode arrayCreateNode
        end local 3 // com.oracle.truffle.api.interop.InteropLibrary interop
        end local 2 // java.lang.Object[] args
        end local 1 // com.oracle.truffle.api.object.DynamicObject newTarget
        end local 0 // com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   14     0               this  Lcom/oracle/truffle/js/builtins/ConstructorBuiltins$ConstructArrayNode;
            0   14     1          newTarget  Lcom/oracle/truffle/api/object/DynamicObject;
            0   14     2               args  [Ljava/lang/Object;
            0   14     3            interop  Lcom/oracle/truffle/api/interop/InteropLibrary;
            0   14     4    arrayCreateNode  Lcom/oracle/truffle/js/nodes/array/ArrayCreateNode;
            0   14     5           isNumber  Lcom/oracle/truffle/api/profiles/ConditionProfile;
            0   14     6  rangeErrorProfile  Lcom/oracle/truffle/api/profiles/BranchProfile;
            1   14     7                len  Ljava/lang/Object;
            4    8     8             length  J
            6    8    10              array  Lcom/oracle/truffle/api/object/DynamicObject;
            9   11     8               umex  Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
      Exception table:
        from    to  target  type
           3     7       8  Class com.oracle.truffle.api.interop.UnsupportedMessageException
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.dsl.Specialization(guards = {"isOneForeignArg(args)"}, limit = "InteropLibraryLimit")
    RuntimeInvisibleParameterAnnotations: 
      0:
      1:
      2:
        com.oracle.truffle.api.library.CachedLibrary(value = "firstArg(args)")
      3:
        com.oracle.truffle.api.dsl.Cached(value = "create(getContext())")
      4:
        com.oracle.truffle.api.dsl.Cached(value = "createBinaryProfile()")
      5:
        com.oracle.truffle.api.dsl.Cached(value = "create()")
    MethodParameters:
                   Name  Flags
      newTarget          
      args               
      interop            
      arrayCreateNode    
      isNumber           
      rangeErrorProfile  

  protected com.oracle.truffle.api.object.DynamicObject constructArrayVarargs(com.oracle.truffle.api.object.DynamicObject, java.lang.Object[], com.oracle.truffle.api.profiles.BranchProfile, com.oracle.truffle.api.profiles.BranchProfile, com.oracle.truffle.api.profiles.BranchProfile, com.oracle.truffle.api.profiles.ConditionProfile);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;[Ljava/lang/Object;Lcom/oracle/truffle/api/profiles/BranchProfile;Lcom/oracle/truffle/api/profiles/BranchProfile;Lcom/oracle/truffle/api/profiles/BranchProfile;Lcom/oracle/truffle/api/profiles/ConditionProfile;)Lcom/oracle/truffle/api/object/DynamicObject;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=8, args_size=7
        start local 0 // com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode this
        start local 1 // com.oracle.truffle.api.object.DynamicObject newTarget
        start local 2 // java.lang.Object[] args
        start local 3 // com.oracle.truffle.api.profiles.BranchProfile isIntegerCase
        start local 4 // com.oracle.truffle.api.profiles.BranchProfile isDoubleCase
        start local 5 // com.oracle.truffle.api.profiles.BranchProfile isObjectCase
        start local 6 // com.oracle.truffle.api.profiles.ConditionProfile isLengthZero
         0: .line 696
            aload 6 /* isLengthZero */
            aload 2 /* args */
            ifnull 1
            aload 2 /* args */
            arraylength
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack: com.oracle.truffle.api.profiles.ConditionProfile
         1: iconst_1
      StackMap locals: com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode com.oracle.truffle.api.object.DynamicObject java.lang.Object[] com.oracle.truffle.api.profiles.BranchProfile com.oracle.truffle.api.profiles.BranchProfile com.oracle.truffle.api.profiles.BranchProfile com.oracle.truffle.api.profiles.ConditionProfile
      StackMap stack: com.oracle.truffle.api.profiles.ConditionProfile int
         2: invokevirtual com.oracle.truffle.api.profiles.ConditionProfile.profile:(Z)Z
            ifeq 4
         3: .line 697
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
            invokestatic com.oracle.truffle.js.runtime.array.ScriptArray.createConstantEmptyArray:()Lcom/oracle/truffle/js/runtime/array/dyn/AbstractConstantArray;
            aload 2 /* args */
            lconst_0
            invokestatic com.oracle.truffle.js.runtime.builtins.JSArray.create:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/runtime/array/ScriptArray;Ljava/lang/Object;J)Lcom/oracle/truffle/api/object/DynamicObject;
            aload 1 /* newTarget */
            invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode.swapPrototype:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/DynamicObject;
            areturn
         4: .line 699
      StackMap locals:
      StackMap stack:
            aload 2 /* args */
            iconst_0
            invokestatic com.oracle.truffle.js.nodes.access.ArrayLiteralNode.identifyPrimitiveContentType:([Ljava/lang/Object;Z)Lcom/oracle/truffle/js/nodes/access/ArrayLiteralNode$ArrayContentType;
            astore 7 /* type */
        start local 7 // com.oracle.truffle.js.nodes.access.ArrayLiteralNode$ArrayContentType type
         5: .line 700
            aload 7 /* type */
            getstatic com.oracle.truffle.js.nodes.access.ArrayLiteralNode$ArrayContentType.Integer:Lcom/oracle/truffle/js/nodes/access/ArrayLiteralNode$ArrayContentType;
            if_acmpne 8
         6: .line 701
            aload 3 /* isIntegerCase */
            invokevirtual com.oracle.truffle.api.profiles.BranchProfile.enter:()V
         7: .line 702
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
            aload 2 /* args */
            invokestatic com.oracle.truffle.js.nodes.access.ArrayLiteralNode.createIntArray:([Ljava/lang/Object;)[I
            invokestatic com.oracle.truffle.js.runtime.builtins.JSArray.createZeroBasedIntArray:(Lcom/oracle/truffle/js/runtime/JSContext;[I)Lcom/oracle/truffle/api/object/DynamicObject;
            aload 1 /* newTarget */
            invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode.swapPrototype:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/DynamicObject;
            areturn
         8: .line 703
      StackMap locals: com.oracle.truffle.js.nodes.access.ArrayLiteralNode$ArrayContentType
      StackMap stack:
            aload 7 /* type */
            getstatic com.oracle.truffle.js.nodes.access.ArrayLiteralNode$ArrayContentType.Double:Lcom/oracle/truffle/js/nodes/access/ArrayLiteralNode$ArrayContentType;
            if_acmpne 11
         9: .line 704
            aload 4 /* isDoubleCase */
            invokevirtual com.oracle.truffle.api.profiles.BranchProfile.enter:()V
        10: .line 705
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
            aload 2 /* args */
            invokestatic com.oracle.truffle.js.nodes.access.ArrayLiteralNode.createDoubleArray:([Ljava/lang/Object;)[D
            invokestatic com.oracle.truffle.js.runtime.builtins.JSArray.createZeroBasedDoubleArray:(Lcom/oracle/truffle/js/runtime/JSContext;[D)Lcom/oracle/truffle/api/object/DynamicObject;
            aload 1 /* newTarget */
            invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode.swapPrototype:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/DynamicObject;
            areturn
        11: .line 707
      StackMap locals:
      StackMap stack:
            aload 5 /* isObjectCase */
            invokevirtual com.oracle.truffle.api.profiles.BranchProfile.enter:()V
        12: .line 708
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
            invokestatic com.oracle.truffle.js.runtime.array.dyn.ConstantObjectArray.createConstantObjectArray:()Lcom/oracle/truffle/js/runtime/array/dyn/ConstantObjectArray;
            aload 2 /* args */
            aload 2 /* args */
            arraylength
            i2l
            invokestatic com.oracle.truffle.js.runtime.builtins.JSArray.create:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/runtime/array/ScriptArray;Ljava/lang/Object;J)Lcom/oracle/truffle/api/object/DynamicObject;
            aload 1 /* newTarget */
            invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode.swapPrototype:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/DynamicObject;
            areturn
        end local 7 // com.oracle.truffle.js.nodes.access.ArrayLiteralNode$ArrayContentType type
        end local 6 // com.oracle.truffle.api.profiles.ConditionProfile isLengthZero
        end local 5 // com.oracle.truffle.api.profiles.BranchProfile isObjectCase
        end local 4 // com.oracle.truffle.api.profiles.BranchProfile isDoubleCase
        end local 3 // com.oracle.truffle.api.profiles.BranchProfile isIntegerCase
        end local 2 // java.lang.Object[] args
        end local 1 // com.oracle.truffle.api.object.DynamicObject newTarget
        end local 0 // com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   13     0           this  Lcom/oracle/truffle/js/builtins/ConstructorBuiltins$ConstructArrayNode;
            0   13     1      newTarget  Lcom/oracle/truffle/api/object/DynamicObject;
            0   13     2           args  [Ljava/lang/Object;
            0   13     3  isIntegerCase  Lcom/oracle/truffle/api/profiles/BranchProfile;
            0   13     4   isDoubleCase  Lcom/oracle/truffle/api/profiles/BranchProfile;
            0   13     5   isObjectCase  Lcom/oracle/truffle/api/profiles/BranchProfile;
            0   13     6   isLengthZero  Lcom/oracle/truffle/api/profiles/ConditionProfile;
            5   13     7           type  Lcom/oracle/truffle/js/nodes/access/ArrayLiteralNode$ArrayContentType;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.dsl.Specialization(guards = {"!isOneNumberArg(args)", "!isOneForeignArg(args)"})
    RuntimeInvisibleParameterAnnotations: 
      0:
      1:
      2:
        com.oracle.truffle.api.dsl.Cached(value = "create()")
      3:
        com.oracle.truffle.api.dsl.Cached(value = "create()")
      4:
        com.oracle.truffle.api.dsl.Cached(value = "create()")
      5:
        com.oracle.truffle.api.dsl.Cached(value = "createBinaryProfile()")
    MethodParameters:
               Name  Flags
      newTarget      
      args           
      isIntegerCase  
      isDoubleCase   
      isObjectCase   
      isLengthZero   

  public com.oracle.truffle.js.nodes.JavaScriptNode copy();
    descriptor: ()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode this
         0: .line 715
            aload 0 /* this */
            invokespecial com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructWithNewTargetNode.copy:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            checkcast com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode
            astore 1 /* copy */
        start local 1 // com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode copy
         1: .line 716
            aload 1 /* copy */
            invokestatic com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode.createAllocationSite:()Lcom/oracle/truffle/js/builtins/ConstructorBuiltins$ConstructArrayNode$ConstructArrayAllocationSite;
            putfield com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode.arrayAllocationSite:Lcom/oracle/truffle/js/builtins/ConstructorBuiltins$ConstructArrayNode$ConstructArrayAllocationSite;
         2: .line 717
            aload 1 /* copy */
            areturn
        end local 1 // com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode copy
        end local 0 // com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/oracle/truffle/js/builtins/ConstructorBuiltins$ConstructArrayNode;
            1    3     1  copy  Lcom/oracle/truffle/js/builtins/ConstructorBuiltins$ConstructArrayNode;

  private static com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode$ConstructArrayAllocationSite createAllocationSite();
    descriptor: ()Lcom/oracle/truffle/js/builtins/ConstructorBuiltins$ConstructArrayNode$ConstructArrayAllocationSite;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 721
            getstatic com.oracle.truffle.js.runtime.JSConfig.TrackArrayAllocationSites:Z
            ifeq 1
            new com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode$ConstructArrayAllocationSite
            dup
            invokespecial com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode$ConstructArrayAllocationSite.<init>:()V
            goto 2
      StackMap locals:
      StackMap stack:
         1: aconst_null
      StackMap locals:
      StackMap stack: com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode$ConstructArrayAllocationSite
         2: areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected com.oracle.truffle.api.object.DynamicObject getIntrinsicDefaultProto(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.builtins.ConstructorBuiltins$ConstructArrayNode this
        start local 1 // com.oracle.truffle.js.runtime.JSRealm realm
         0: .line 726
            aload 1 /* realm */
            invokevirtual com.oracle.truffle.js.runtime.JSRealm.getArrayPrototype:()Lcom/oracle/truffle/api/object/DynamicObject;
            areturn
        end local 1 // com.oracle.truffle.js.runtime.JSRealm realm
        end local 0 // com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/oracle/truffle/js/builtins/ConstructorBuiltins$ConstructArrayNode;
            0    1     1  realm  Lcom/oracle/truffle/js/runtime/JSRealm;
    MethodParameters:
       Name  Flags
      realm  

  public com.oracle.truffle.api.nodes.Node copy();
    descriptor: ()Lcom/oracle/truffle/api/nodes/Node;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode.copy:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public com.oracle.truffle.js.nodes.JavaScriptBaseNode copy();
    descriptor: ()Lcom/oracle/truffle/js/nodes/JavaScriptBaseNode;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode.copy:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "ConstructorBuiltins.java"
NestHost: com.oracle.truffle.js.builtins.ConstructorBuiltins
InnerClasses:
  public abstract CompilationFinal = com.oracle.truffle.api.CompilerDirectives$CompilationFinal of com.oracle.truffle.api.CompilerDirectives
  public abstract ConstructArrayNode = com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode of com.oracle.truffle.js.builtins.ConstructorBuiltins
  private final ConstructArrayAllocationSite = com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode$ConstructArrayAllocationSite of com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructArrayNode
  public abstract ConstructWithNewTargetNode = com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructWithNewTargetNode of com.oracle.truffle.js.builtins.ConstructorBuiltins
  public final ArrayContentType = com.oracle.truffle.js.nodes.access.ArrayLiteralNode$ArrayContentType of com.oracle.truffle.js.nodes.access.ArrayLiteralNode
    RuntimeInvisibleAnnotations: 
      com.oracle.truffle.api.dsl.ImportStatic(value = {Lcom/oracle/truffle/js/runtime/JSConfig;})