public abstract class com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode extends com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFunctionOperation
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode
  super_class: com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFunctionOperation
{
  private com.oracle.truffle.js.nodes.function.JSFunctionCallNode callMapFnNode;
    descriptor: Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.nodes.Node$Child()

  private com.oracle.truffle.js.nodes.access.IteratorCloseNode iteratorCloseNode;
    descriptor: Lcom/oracle/truffle/js/nodes/access/IteratorCloseNode;
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.nodes.Node$Child()

  private com.oracle.truffle.js.nodes.function.JSFunctionCallNode callIteratorMethodNode;
    descriptor: Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.nodes.Node$Child()

  private com.oracle.truffle.js.nodes.access.IteratorValueNode getIteratorValueNode;
    descriptor: Lcom/oracle/truffle/js/nodes/access/IteratorValueNode;
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.nodes.Node$Child()

  private com.oracle.truffle.js.nodes.access.IteratorStepNode iteratorStepNode;
    descriptor: Lcom/oracle/truffle/js/nodes/access/IteratorStepNode;
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.nodes.Node$Child()

  private com.oracle.truffle.js.nodes.access.GetMethodNode getIteratorMethodNode;
    descriptor: Lcom/oracle/truffle/js/nodes/access/GetMethodNode;
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.nodes.Node$Child()

  private com.oracle.truffle.js.nodes.access.GetIteratorNode getIteratorNode;
    descriptor: Lcom/oracle/truffle/js/nodes/access/GetIteratorNode;
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.nodes.Node$Child()

  private com.oracle.truffle.js.nodes.access.IsJSObjectNode isObjectNode;
    descriptor: Lcom/oracle/truffle/js/nodes/access/IsJSObjectNode;
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.nodes.Node$Child()

  private com.oracle.truffle.js.nodes.access.PropertyGetNode getNextMethodNode;
    descriptor: Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.nodes.Node$Child()

  private com.oracle.truffle.js.nodes.array.JSGetLengthNode getSourceLengthNode;
    descriptor: Lcom/oracle/truffle/js/nodes/array/JSGetLengthNode;
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.nodes.Node$Child()

  private com.oracle.truffle.js.nodes.access.IsArrayNode isFastArrayNode;
    descriptor: Lcom/oracle/truffle/js/nodes/access/IsArrayNode;
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.nodes.Node$Child()

  private final com.oracle.truffle.api.profiles.ConditionProfile isIterable;
    descriptor: Lcom/oracle/truffle/api/profiles/ConditionProfile;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.oracle.truffle.api.profiles.ConditionProfile isHostObject;
    descriptor: Lcom/oracle/truffle/api/profiles/ConditionProfile;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  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.ArrayFunctionBuiltins$JSArrayFromNode 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 isTypedArray
         0: .line 214
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* builtin */
            iload 3 /* isTypedArray */
            invokespecial com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFunctionOperation.<init>:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/function/JSBuiltin;Z)V
         1: .line 210
            aload 0 /* this */
            invokestatic com.oracle.truffle.api.profiles.ConditionProfile.createBinaryProfile:()Lcom/oracle/truffle/api/profiles/ConditionProfile;
            putfield com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode.isIterable:Lcom/oracle/truffle/api/profiles/ConditionProfile;
         2: .line 211
            aload 0 /* this */
            invokestatic com.oracle.truffle.api.profiles.ConditionProfile.createBinaryProfile:()Lcom/oracle/truffle/api/profiles/ConditionProfile;
            putfield com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode.isHostObject:Lcom/oracle/truffle/api/profiles/ConditionProfile;
         3: .line 215
            aload 0 /* this */
            aload 1 /* context */
            aconst_null
            getstatic com.oracle.truffle.js.runtime.Symbol.SYMBOL_ITERATOR:Lcom/oracle/truffle/js/runtime/Symbol;
            invokestatic com.oracle.truffle.js.nodes.access.GetMethodNode.create:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/lang/Object;)Lcom/oracle/truffle/js/nodes/access/GetMethodNode;
            putfield com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode.getIteratorMethodNode:Lcom/oracle/truffle/js/nodes/access/GetMethodNode;
         4: .line 216
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode.isTypedArrayImplementation:Z
            ifeq 5
            aconst_null
            goto 6
      StackMap locals: com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode com.oracle.truffle.js.runtime.JSContext com.oracle.truffle.js.nodes.function.JSBuiltin int
      StackMap stack: com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode
         5: invokestatic com.oracle.truffle.js.nodes.access.IsArrayNode.createIsFastArray:()Lcom/oracle/truffle/js/nodes/access/IsArrayNode;
      StackMap locals: com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode com.oracle.truffle.js.runtime.JSContext com.oracle.truffle.js.nodes.function.JSBuiltin int
      StackMap stack: com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode com.oracle.truffle.js.nodes.access.IsArrayNode
         6: putfield com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode.isFastArrayNode:Lcom/oracle/truffle/js/nodes/access/IsArrayNode;
         7: .line 217
            return
        end local 3 // boolean isTypedArray
        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.ArrayFunctionBuiltins$JSArrayFromNode this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    8     0          this  Lcom/oracle/truffle/js/builtins/ArrayFunctionBuiltins$JSArrayFromNode;
            0    8     1       context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    8     2       builtin  Lcom/oracle/truffle/js/nodes/function/JSBuiltin;
            0    8     3  isTypedArray  Z
    MethodParameters:
              Name  Flags
      context       
      builtin       
      isTypedArray  

  protected void iteratorCloseAbrupt(com.oracle.truffle.api.object.DynamicObject);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode this
        start local 1 // com.oracle.truffle.api.object.DynamicObject iterator
         0: .line 220
            aload 0 /* this */
            getfield com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode.iteratorCloseNode:Lcom/oracle/truffle/js/nodes/access/IteratorCloseNode;
            ifnonnull 3
         1: .line 221
            invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
         2: .line 222
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
            invokestatic com.oracle.truffle.js.nodes.access.IteratorCloseNode.create:(Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/nodes/access/IteratorCloseNode;
            invokevirtual com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode.insert:(Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/nodes/Node;
            checkcast com.oracle.truffle.js.nodes.access.IteratorCloseNode
            putfield com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode.iteratorCloseNode:Lcom/oracle/truffle/js/nodes/access/IteratorCloseNode;
         3: .line 224
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode.iteratorCloseNode:Lcom/oracle/truffle/js/nodes/access/IteratorCloseNode;
            aload 1 /* iterator */
            invokevirtual com.oracle.truffle.js.nodes.access.IteratorCloseNode.executeAbrupt:(Lcom/oracle/truffle/api/object/DynamicObject;)V
         4: .line 225
            return
        end local 1 // com.oracle.truffle.api.object.DynamicObject iterator
        end local 0 // com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lcom/oracle/truffle/js/builtins/ArrayFunctionBuiltins$JSArrayFromNode;
            0    5     1  iterator  Lcom/oracle/truffle/api/object/DynamicObject;
    MethodParameters:
          Name  Flags
      iterator  

  protected com.oracle.truffle.js.runtime.objects.IteratorRecord getIterator(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/objects/IteratorRecord;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode this
        start local 1 // java.lang.Object object
        start local 2 // java.lang.Object usingIterator
         0: .line 228
            aload 0 /* this */
            getfield com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode.callIteratorMethodNode:Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;
            ifnonnull 3
         1: .line 229
            invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
         2: .line 230
            aload 0 /* this */
            aload 0 /* this */
            invokestatic com.oracle.truffle.js.nodes.function.JSFunctionCallNode.createCall:()Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;
            invokevirtual com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode.insert:(Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/nodes/Node;
            checkcast com.oracle.truffle.js.nodes.function.JSFunctionCallNode
            putfield com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode.callIteratorMethodNode:Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;
         3: .line 232
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode.isObjectNode:Lcom/oracle/truffle/js/nodes/access/IsJSObjectNode;
            ifnonnull 6
         4: .line 233
            invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
         5: .line 234
            aload 0 /* this */
            aload 0 /* this */
            invokestatic com.oracle.truffle.js.nodes.access.IsJSObjectNode.create:()Lcom/oracle/truffle/js/nodes/access/IsJSObjectNode;
            invokevirtual com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode.insert:(Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/nodes/Node;
            checkcast com.oracle.truffle.js.nodes.access.IsJSObjectNode
            putfield com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode.isObjectNode:Lcom/oracle/truffle/js/nodes/access/IsJSObjectNode;
         6: .line 236
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode.getNextMethodNode:Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
            ifnonnull 9
         7: .line 237
            invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
         8: .line 238
            aload 0 /* this */
            aload 0 /* this */
            ldc "next"
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
            invokestatic com.oracle.truffle.js.nodes.access.PropertyGetNode.create:(Ljava/lang/Object;Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
            invokevirtual com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode.insert:(Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/nodes/Node;
            checkcast com.oracle.truffle.js.nodes.access.PropertyGetNode
            putfield com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode.getNextMethodNode:Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
         9: .line 241
      StackMap locals:
      StackMap stack:
            aload 1 /* object */
            aload 2 /* usingIterator */
            aload 0 /* this */
            getfield com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode.callIteratorMethodNode:Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;
            aload 0 /* this */
            getfield com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode.isObjectNode:Lcom/oracle/truffle/js/nodes/access/IsJSObjectNode;
            aload 0 /* this */
            getfield com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode.getNextMethodNode:Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
            aload 0 /* this */
            invokestatic com.oracle.truffle.js.nodes.access.GetIteratorNode.getIterator:(Ljava/lang/Object;Ljava/lang/Object;Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;Lcom/oracle/truffle/js/nodes/access/IsJSObjectNode;Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;Lcom/oracle/truffle/js/nodes/JavaScriptBaseNode;)Lcom/oracle/truffle/js/runtime/objects/IteratorRecord;
            areturn
        end local 2 // java.lang.Object usingIterator
        end local 1 // java.lang.Object object
        end local 0 // com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   10     0           this  Lcom/oracle/truffle/js/builtins/ArrayFunctionBuiltins$JSArrayFromNode;
            0   10     1         object  Ljava/lang/Object;
            0   10     2  usingIterator  Ljava/lang/Object;
    MethodParameters:
               Name  Flags
      object         
      usingIterator  

  protected java.lang.Object getIteratorValue(com.oracle.truffle.api.object.DynamicObject);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode this
        start local 1 // com.oracle.truffle.api.object.DynamicObject iteratorResult
         0: .line 245
            aload 0 /* this */
            getfield com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode.getIteratorValueNode:Lcom/oracle/truffle/js/nodes/access/IteratorValueNode;
            ifnonnull 3
         1: .line 246
            invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
         2: .line 247
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
            invokestatic com.oracle.truffle.js.nodes.access.IteratorValueNode.create:(Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/nodes/access/IteratorValueNode;
            invokevirtual com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode.insert:(Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/nodes/Node;
            checkcast com.oracle.truffle.js.nodes.access.IteratorValueNode
            putfield com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode.getIteratorValueNode:Lcom/oracle/truffle/js/nodes/access/IteratorValueNode;
         3: .line 249
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode.getIteratorValueNode:Lcom/oracle/truffle/js/nodes/access/IteratorValueNode;
            aload 1 /* iteratorResult */
            invokevirtual com.oracle.truffle.js.nodes.access.IteratorValueNode.execute:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/Object;
            areturn
        end local 1 // com.oracle.truffle.api.object.DynamicObject iteratorResult
        end local 0 // com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    4     0            this  Lcom/oracle/truffle/js/builtins/ArrayFunctionBuiltins$JSArrayFromNode;
            0    4     1  iteratorResult  Lcom/oracle/truffle/api/object/DynamicObject;
    MethodParameters:
                Name  Flags
      iteratorResult  

  protected java.lang.Object iteratorStep(com.oracle.truffle.js.runtime.objects.IteratorRecord);
    descriptor: (Lcom/oracle/truffle/js/runtime/objects/IteratorRecord;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode this
        start local 1 // com.oracle.truffle.js.runtime.objects.IteratorRecord iteratorRecord
         0: .line 253
            aload 0 /* this */
            getfield com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode.iteratorStepNode:Lcom/oracle/truffle/js/nodes/access/IteratorStepNode;
            ifnonnull 3
         1: .line 254
            invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
         2: .line 255
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
            invokestatic com.oracle.truffle.js.nodes.access.IteratorStepNode.create:(Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/nodes/access/IteratorStepNode;
            invokevirtual com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode.insert:(Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/nodes/Node;
            checkcast com.oracle.truffle.js.nodes.access.IteratorStepNode
            putfield com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode.iteratorStepNode:Lcom/oracle/truffle/js/nodes/access/IteratorStepNode;
         3: .line 257
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode.iteratorStepNode:Lcom/oracle/truffle/js/nodes/access/IteratorStepNode;
            aload 1 /* iteratorRecord */
            invokevirtual com.oracle.truffle.js.nodes.access.IteratorStepNode.execute:(Lcom/oracle/truffle/js/runtime/objects/IteratorRecord;)Ljava/lang/Object;
            areturn
        end local 1 // com.oracle.truffle.js.runtime.objects.IteratorRecord iteratorRecord
        end local 0 // com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    4     0            this  Lcom/oracle/truffle/js/builtins/ArrayFunctionBuiltins$JSArrayFromNode;
            0    4     1  iteratorRecord  Lcom/oracle/truffle/js/runtime/objects/IteratorRecord;
    MethodParameters:
                Name  Flags
      iteratorRecord  

  protected final java.lang.Object callMapFn(java.lang.Object, com.oracle.truffle.api.object.DynamicObject, java.lang.Object[]);
    descriptor: (Ljava/lang/Object;Lcom/oracle/truffle/api/object/DynamicObject;[Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0094) ACC_PROTECTED, ACC_FINAL, ACC_VARARGS
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode this
        start local 1 // java.lang.Object target
        start local 2 // com.oracle.truffle.api.object.DynamicObject function
        start local 3 // java.lang.Object[] userArguments
         0: .line 261
            aload 0 /* this */
            getfield com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode.callMapFnNode:Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;
            ifnonnull 3
         1: .line 262
            invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
         2: .line 263
            aload 0 /* this */
            aload 0 /* this */
            invokestatic com.oracle.truffle.js.nodes.function.JSFunctionCallNode.createCall:()Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;
            invokevirtual com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode.insert:(Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/nodes/Node;
            checkcast com.oracle.truffle.js.nodes.function.JSFunctionCallNode
            putfield com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode.callMapFnNode:Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;
         3: .line 265
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode.callMapFnNode:Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;
            aload 1 /* target */
            aload 2 /* function */
            aload 3 /* userArguments */
            invokestatic com.oracle.truffle.js.runtime.JSArguments.create:(Ljava/lang/Object;Ljava/lang/Object;[Ljava/lang/Object;)[Ljava/lang/Object;
            invokevirtual com.oracle.truffle.js.nodes.function.JSFunctionCallNode.executeCall:([Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 3 // java.lang.Object[] userArguments
        end local 2 // com.oracle.truffle.api.object.DynamicObject function
        end local 1 // java.lang.Object target
        end local 0 // com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0           this  Lcom/oracle/truffle/js/builtins/ArrayFunctionBuiltins$JSArrayFromNode;
            0    4     1         target  Ljava/lang/Object;
            0    4     2       function  Lcom/oracle/truffle/api/object/DynamicObject;
            0    4     3  userArguments  [Ljava/lang/Object;
    MethodParameters:
               Name  Flags
      target         
      function       
      userArguments  

  protected long getSourceLength(java.lang.Object);
    descriptor: (Ljava/lang/Object;)J
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode this
        start local 1 // java.lang.Object thisObject
         0: .line 269
            aload 0 /* this */
            getfield com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode.getSourceLengthNode:Lcom/oracle/truffle/js/nodes/array/JSGetLengthNode;
            ifnonnull 3
         1: .line 270
            invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
         2: .line 271
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
            invokestatic com.oracle.truffle.js.nodes.array.JSGetLengthNode.create:(Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/nodes/array/JSGetLengthNode;
            invokevirtual com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode.insert:(Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/nodes/Node;
            checkcast com.oracle.truffle.js.nodes.array.JSGetLengthNode
            putfield com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode.getSourceLengthNode:Lcom/oracle/truffle/js/nodes/array/JSGetLengthNode;
         3: .line 273
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode.getSourceLengthNode:Lcom/oracle/truffle/js/nodes/array/JSGetLengthNode;
            aload 1 /* thisObject */
            invokevirtual com.oracle.truffle.js.nodes.array.JSGetLengthNode.executeLong:(Ljava/lang/Object;)J
            lreturn
        end local 1 // java.lang.Object thisObject
        end local 0 // com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lcom/oracle/truffle/js/builtins/ArrayFunctionBuiltins$JSArrayFromNode;
            0    4     1  thisObject  Ljava/lang/Object;
    MethodParameters:
            Name  Flags
      thisObject  

  protected com.oracle.truffle.api.object.DynamicObject arrayFrom(java.lang.Object, java.lang.Object[]);
    descriptor: (Ljava/lang/Object;[Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObject;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=6, args_size=3
        start local 0 // com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode this
        start local 1 // java.lang.Object thisObj
        start local 2 // java.lang.Object[] args
         0: .line 278
            aload 2 /* args */
            iconst_0
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.getArgOrUndefined:([Ljava/lang/Object;I)Ljava/lang/Object;
            astore 3 /* items */
        start local 3 // java.lang.Object items
         1: .line 279
            aload 2 /* args */
            iconst_1
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.getArgOrUndefined:([Ljava/lang/Object;I)Ljava/lang/Object;
            astore 4 /* mapFn */
        start local 4 // java.lang.Object mapFn
         2: .line 280
            aload 2 /* args */
            iconst_2
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.getArgOrUndefined:([Ljava/lang/Object;I)Ljava/lang/Object;
            astore 5 /* thisArg */
        start local 5 // java.lang.Object thisArg
         3: .line 282
            aload 0 /* this */
            aload 1 /* thisObj */
            aload 3 /* items */
            aload 4 /* mapFn */
            aload 5 /* thisArg */
            iconst_1
            invokevirtual com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode.arrayFromIntl:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Z)Lcom/oracle/truffle/api/object/DynamicObject;
            areturn
        end local 5 // java.lang.Object thisArg
        end local 4 // java.lang.Object mapFn
        end local 3 // java.lang.Object items
        end local 2 // java.lang.Object[] args
        end local 1 // java.lang.Object thisObj
        end local 0 // com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lcom/oracle/truffle/js/builtins/ArrayFunctionBuiltins$JSArrayFromNode;
            0    4     1  thisObj  Ljava/lang/Object;
            0    4     2     args  [Ljava/lang/Object;
            1    4     3    items  Ljava/lang/Object;
            2    4     4    mapFn  Ljava/lang/Object;
            3    4     5  thisArg  Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.dsl.Specialization()
    MethodParameters:
         Name  Flags
      thisObj  
      args     

  protected com.oracle.truffle.api.object.DynamicObject arrayFromIntl(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, boolean);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Z)Lcom/oracle/truffle/api/object/DynamicObject;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=9, args_size=6
        start local 0 // com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode this
        start local 1 // java.lang.Object thisObj
        start local 2 // java.lang.Object items
        start local 3 // java.lang.Object mapFn
        start local 4 // java.lang.Object thisArg
        start local 5 // boolean setLength
         0: .line 287
            aload 3 /* mapFn */
            getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            if_acmpne 3
         1: .line 288
            iconst_0
            istore 6 /* mapping */
        start local 6 // boolean mapping
         2: .line 289
            goto 5
        end local 6 // boolean mapping
         3: .line 290
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* mapFn */
            invokevirtual com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode.checkCallbackIsFunction:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 291
            iconst_1
            istore 6 /* mapping */
        start local 6 // boolean mapping
         5: .line 293
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode.getIteratorMethodNode:Lcom/oracle/truffle/js/nodes/access/GetMethodNode;
            aload 2 /* items */
            invokevirtual com.oracle.truffle.js.nodes.access.GetMethodNode.executeWithTarget:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 7 /* usingIterator */
        start local 7 // java.lang.Object usingIterator
         6: .line 294
            aload 0 /* this */
            getfield com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode.isIterable:Lcom/oracle/truffle/api/profiles/ConditionProfile;
            aload 7 /* usingIterator */
            getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            if_acmpeq 7
            iconst_1
            goto 8
      StackMap locals: com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode java.lang.Object java.lang.Object java.lang.Object java.lang.Object int int java.lang.Object
      StackMap stack: com.oracle.truffle.api.profiles.ConditionProfile
         7: iconst_0
      StackMap locals: com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode java.lang.Object java.lang.Object java.lang.Object java.lang.Object int int java.lang.Object
      StackMap stack: com.oracle.truffle.api.profiles.ConditionProfile int
         8: invokevirtual com.oracle.truffle.api.profiles.ConditionProfile.profile:(Z)Z
            ifeq 10
         9: .line 295
            aload 0 /* this */
            aload 1 /* thisObj */
            aload 2 /* items */
            aload 7 /* usingIterator */
            aload 3 /* mapFn */
            aload 4 /* thisArg */
            iload 6 /* mapping */
            invokevirtual com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode.arrayFromIterable:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Z)Lcom/oracle/truffle/api/object/DynamicObject;
            areturn
        10: .line 296
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode.isHostObject:Lcom/oracle/truffle/api/profiles/ConditionProfile;
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
            invokevirtual com.oracle.truffle.js.runtime.JSContext.getRealm:()Lcom/oracle/truffle/js/runtime/JSRealm;
            invokevirtual com.oracle.truffle.js.runtime.JSRealm.getEnv:()Lcom/oracle/truffle/api/TruffleLanguage$Env;
            aload 2 /* items */
            invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.isHostObject:(Ljava/lang/Object;)Z
            invokevirtual com.oracle.truffle.api.profiles.ConditionProfile.profile:(Z)Z
            ifeq 12
        11: .line 301
            aload 0 /* this */
            aload 1 /* thisObj */
            aload 2 /* items */
            aload 3 /* mapFn */
            aload 4 /* thisArg */
            iload 6 /* mapping */
            invokevirtual com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode.arrayFromIterable:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Z)Lcom/oracle/truffle/api/object/DynamicObject;
            areturn
        12: .line 304
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* items */
            invokevirtual com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode.toObject:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 8 /* itemsObject */
        start local 8 // java.lang.Object itemsObject
        13: .line 305
            aload 0 /* this */
            aload 1 /* thisObj */
            aload 8 /* itemsObject */
            aload 3 /* mapFn */
            aload 4 /* thisArg */
            iload 6 /* mapping */
            iload 5 /* setLength */
            invokevirtual com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode.arrayFromArrayLike:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;ZZ)Lcom/oracle/truffle/api/object/DynamicObject;
            areturn
        end local 8 // java.lang.Object itemsObject
        end local 7 // java.lang.Object usingIterator
        end local 6 // boolean mapping
        end local 5 // boolean setLength
        end local 4 // java.lang.Object thisArg
        end local 3 // java.lang.Object mapFn
        end local 2 // java.lang.Object items
        end local 1 // java.lang.Object thisObj
        end local 0 // com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   14     0           this  Lcom/oracle/truffle/js/builtins/ArrayFunctionBuiltins$JSArrayFromNode;
            0   14     1        thisObj  Ljava/lang/Object;
            0   14     2          items  Ljava/lang/Object;
            0   14     3          mapFn  Ljava/lang/Object;
            0   14     4        thisArg  Ljava/lang/Object;
            0   14     5      setLength  Z
            2    3     6        mapping  Z
            5   14     6        mapping  Z
            6   14     7  usingIterator  Ljava/lang/Object;
           13   14     8    itemsObject  Ljava/lang/Object;
    MethodParameters:
           Name  Flags
      thisObj    
      items      
      mapFn      
      thisArg    
      setLength  

  protected com.oracle.truffle.api.object.DynamicObject arrayFromIterable(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, boolean);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Z)Lcom/oracle/truffle/api/object/DynamicObject;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=8, args_size=6
        start local 0 // com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode this
        start local 1 // java.lang.Object thisObj
        start local 2 // java.lang.Object items
        start local 3 // java.lang.Object mapFn
        start local 4 // java.lang.Object thisArg
        start local 5 // boolean mapping
         0: .line 310
            aload 0 /* this */
            getfield com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode.getIteratorNode:Lcom/oracle/truffle/js/nodes/access/GetIteratorNode;
            ifnonnull 3
         1: .line 311
            invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
         2: .line 312
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
            invokestatic com.oracle.truffle.js.nodes.access.GetIteratorNode.create:(Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/nodes/access/GetIteratorNode;
            invokevirtual com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode.insert:(Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/nodes/Node;
            checkcast com.oracle.truffle.js.nodes.access.GetIteratorNode
            putfield com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode.getIteratorNode:Lcom/oracle/truffle/js/nodes/access/GetIteratorNode;
         3: .line 314
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode.getIteratorNode:Lcom/oracle/truffle/js/nodes/access/GetIteratorNode;
            aload 2 /* items */
            invokevirtual com.oracle.truffle.js.nodes.access.GetIteratorNode.execute:(Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/objects/IteratorRecord;
            astore 6 /* iteratorRecord */
        start local 6 // com.oracle.truffle.js.runtime.objects.IteratorRecord iteratorRecord
         4: .line 315
            aload 0 /* this */
            aload 1 /* thisObj */
            lconst_0
            iconst_0
            invokevirtual com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode.constructOrArray:(Ljava/lang/Object;JZ)Lcom/oracle/truffle/api/object/DynamicObject;
            astore 7 /* obj */
        start local 7 // com.oracle.truffle.api.object.DynamicObject obj
         5: .line 316
            aload 0 /* this */
            aload 7 /* obj */
            aload 6 /* iteratorRecord */
            aload 3 /* mapFn */
            aload 4 /* thisArg */
            iload 5 /* mapping */
            invokevirtual com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode.arrayFromIteratorRecord:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/js/runtime/objects/IteratorRecord;Ljava/lang/Object;Ljava/lang/Object;Z)Lcom/oracle/truffle/api/object/DynamicObject;
            areturn
        end local 7 // com.oracle.truffle.api.object.DynamicObject obj
        end local 6 // com.oracle.truffle.js.runtime.objects.IteratorRecord iteratorRecord
        end local 5 // boolean mapping
        end local 4 // java.lang.Object thisArg
        end local 3 // java.lang.Object mapFn
        end local 2 // java.lang.Object items
        end local 1 // java.lang.Object thisObj
        end local 0 // com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    6     0            this  Lcom/oracle/truffle/js/builtins/ArrayFunctionBuiltins$JSArrayFromNode;
            0    6     1         thisObj  Ljava/lang/Object;
            0    6     2           items  Ljava/lang/Object;
            0    6     3           mapFn  Ljava/lang/Object;
            0    6     4         thisArg  Ljava/lang/Object;
            0    6     5         mapping  Z
            4    6     6  iteratorRecord  Lcom/oracle/truffle/js/runtime/objects/IteratorRecord;
            5    6     7             obj  Lcom/oracle/truffle/api/object/DynamicObject;
    MethodParameters:
         Name  Flags
      thisObj  
      items    
      mapFn    
      thisArg  
      mapping  

  protected com.oracle.truffle.api.object.DynamicObject arrayFromIterable(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, boolean);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Z)Lcom/oracle/truffle/api/object/DynamicObject;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=9, args_size=7
        start local 0 // com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode this
        start local 1 // java.lang.Object thisObj
        start local 2 // java.lang.Object items
        start local 3 // java.lang.Object usingIterator
        start local 4 // java.lang.Object mapFn
        start local 5 // java.lang.Object thisArg
        start local 6 // boolean mapping
         0: .line 320
            aload 0 /* this */
            aload 1 /* thisObj */
            lconst_0
            iconst_0
            invokevirtual com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode.constructOrArray:(Ljava/lang/Object;JZ)Lcom/oracle/truffle/api/object/DynamicObject;
            astore 7 /* obj */
        start local 7 // com.oracle.truffle.api.object.DynamicObject obj
         1: .line 322
            aload 0 /* this */
            aload 2 /* items */
            aload 3 /* usingIterator */
            invokevirtual com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode.getIterator:(Ljava/lang/Object;Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/objects/IteratorRecord;
            astore 8 /* iteratorRecord */
        start local 8 // com.oracle.truffle.js.runtime.objects.IteratorRecord iteratorRecord
         2: .line 323
            aload 0 /* this */
            aload 7 /* obj */
            aload 8 /* iteratorRecord */
            aload 4 /* mapFn */
            aload 5 /* thisArg */
            iload 6 /* mapping */
            invokevirtual com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode.arrayFromIteratorRecord:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/js/runtime/objects/IteratorRecord;Ljava/lang/Object;Ljava/lang/Object;Z)Lcom/oracle/truffle/api/object/DynamicObject;
            areturn
        end local 8 // com.oracle.truffle.js.runtime.objects.IteratorRecord iteratorRecord
        end local 7 // com.oracle.truffle.api.object.DynamicObject obj
        end local 6 // boolean mapping
        end local 5 // java.lang.Object thisArg
        end local 4 // java.lang.Object mapFn
        end local 3 // java.lang.Object usingIterator
        end local 2 // java.lang.Object items
        end local 1 // java.lang.Object thisObj
        end local 0 // com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    3     0            this  Lcom/oracle/truffle/js/builtins/ArrayFunctionBuiltins$JSArrayFromNode;
            0    3     1         thisObj  Ljava/lang/Object;
            0    3     2           items  Ljava/lang/Object;
            0    3     3   usingIterator  Ljava/lang/Object;
            0    3     4           mapFn  Ljava/lang/Object;
            0    3     5         thisArg  Ljava/lang/Object;
            0    3     6         mapping  Z
            1    3     7             obj  Lcom/oracle/truffle/api/object/DynamicObject;
            2    3     8  iteratorRecord  Lcom/oracle/truffle/js/runtime/objects/IteratorRecord;
    MethodParameters:
               Name  Flags
      thisObj        
      items          
      usingIterator  
      mapFn          
      thisArg        
      mapping        

  private com.oracle.truffle.api.object.DynamicObject arrayFromIteratorRecord(com.oracle.truffle.api.object.DynamicObject, com.oracle.truffle.js.runtime.objects.IteratorRecord, java.lang.Object, java.lang.Object, boolean);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/js/runtime/objects/IteratorRecord;Ljava/lang/Object;Ljava/lang/Object;Z)Lcom/oracle/truffle/api/object/DynamicObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=10, args_size=6
        start local 0 // com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode this
        start local 1 // com.oracle.truffle.api.object.DynamicObject obj
        start local 2 // com.oracle.truffle.js.runtime.objects.IteratorRecord iteratorRecord
        start local 3 // java.lang.Object mapFn
        start local 4 // java.lang.Object thisArg
        start local 5 // boolean mapping
         0: .line 327
            lconst_0
            lstore 6 /* k */
        start local 6 // long k
         1: .line 330
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            aload 2 /* iteratorRecord */
            invokevirtual com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode.iteratorStep:(Lcom/oracle/truffle/js/runtime/objects/IteratorRecord;)Ljava/lang/Object;
            astore 8 /* next */
        start local 8 // java.lang.Object next
         2: .line 331
            aload 8 /* next */
            getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
            if_acmpne 6
         3: .line 332
            aload 0 /* this */
            aload 1 /* obj */
            lload 6 /* k */
            invokevirtual com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode.setLength:(Ljava/lang/Object;J)V
         4: .line 333
            aload 1 /* obj */
         5: areturn
         6: .line 335
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            aload 8 /* next */
            checkcast com.oracle.truffle.api.object.DynamicObject
            invokevirtual com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode.getIteratorValue:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/Object;
            astore 9 /* mapped */
        start local 9 // java.lang.Object mapped
         7: .line 336
            iload 5 /* mapping */
            ifeq 9
         8: .line 337
            aload 0 /* this */
            aload 4 /* thisArg */
            aload 3 /* mapFn */
            checkcast com.oracle.truffle.api.object.DynamicObject
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 9 /* mapped */
            aastore
            dup
            iconst_1
            lload 6 /* k */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.positiveLongToIntOrDouble:(J)Ljava/lang/Object;
            aastore
            invokevirtual com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode.callMapFn:(Ljava/lang/Object;Lcom/oracle/truffle/api/object/DynamicObject;[Ljava/lang/Object;)Ljava/lang/Object;
            astore 9 /* mapped */
         9: .line 339
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode.isTypedArrayImplementation:Z
            ifne 10
            aload 0 /* this */
            getfield com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode.isFastArrayNode:Lcom/oracle/truffle/js/nodes/access/IsArrayNode;
            aload 1 /* obj */
            invokevirtual com.oracle.truffle.js.nodes.access.IsArrayNode.execute:(Ljava/lang/Object;)Z
            ifeq 12
        10: .line 340
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* obj */
            lload 6 /* k */
            aload 9 /* mapped */
            invokevirtual com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode.writeOwn:(Ljava/lang/Object;JLjava/lang/Object;)V
        11: .line 341
            goto 13
        12: .line 342
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            lload 6 /* k */
            invokestatic com.oracle.truffle.js.runtime.Boundaries.stringValueOf:(J)Ljava/lang/String;
            aload 9 /* mapped */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.createDataPropertyOrThrow:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)Z
            pop
        13: .line 344
      StackMap locals:
      StackMap stack:
            lload 6 /* k */
            lconst_1
            ladd
            lstore 6 /* k */
        end local 9 // java.lang.Object mapped
        end local 8 // java.lang.Object next
        14: .line 329
            goto 1
        15: .line 346
      StackMap locals: com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode com.oracle.truffle.api.object.DynamicObject com.oracle.truffle.js.runtime.objects.IteratorRecord java.lang.Object java.lang.Object int long
      StackMap stack: java.lang.Exception
            astore 8 /* ex */
        start local 8 // java.lang.Exception ex
        16: .line 347
            aload 0 /* this */
            aload 2 /* iteratorRecord */
            invokevirtual com.oracle.truffle.js.runtime.objects.IteratorRecord.getIterator:()Lcom/oracle/truffle/api/object/DynamicObject;
            invokevirtual com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode.iteratorCloseAbrupt:(Lcom/oracle/truffle/api/object/DynamicObject;)V
        17: .line 348
            aload 8 /* ex */
            athrow
        end local 8 // java.lang.Exception ex
        end local 6 // long k
        end local 5 // boolean mapping
        end local 4 // java.lang.Object thisArg
        end local 3 // java.lang.Object mapFn
        end local 2 // com.oracle.truffle.js.runtime.objects.IteratorRecord iteratorRecord
        end local 1 // com.oracle.truffle.api.object.DynamicObject obj
        end local 0 // com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   18     0            this  Lcom/oracle/truffle/js/builtins/ArrayFunctionBuiltins$JSArrayFromNode;
            0   18     1             obj  Lcom/oracle/truffle/api/object/DynamicObject;
            0   18     2  iteratorRecord  Lcom/oracle/truffle/js/runtime/objects/IteratorRecord;
            0   18     3           mapFn  Ljava/lang/Object;
            0   18     4         thisArg  Ljava/lang/Object;
            0   18     5         mapping  Z
            1   18     6               k  J
            2   14     8            next  Ljava/lang/Object;
            7   14     9          mapped  Ljava/lang/Object;
           16   18     8              ex  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           1     5      15  Class java.lang.Exception
           6    15      15  Class java.lang.Exception
    MethodParameters:
                Name  Flags
      obj             
      iteratorRecord  
      mapFn           
      thisArg         
      mapping         

  protected com.oracle.truffle.api.object.DynamicObject arrayFromArrayLike(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, boolean, boolean);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;ZZ)Lcom/oracle/truffle/api/object/DynamicObject;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=8, locals=14, args_size=7
        start local 0 // com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode this
        start local 1 // java.lang.Object thisObj
        start local 2 // java.lang.Object items
        start local 3 // java.lang.Object mapFn
        start local 4 // java.lang.Object thisArg
        start local 5 // boolean mapping
        start local 6 // boolean setLength
         0: .line 353
            aload 0 /* this */
            aload 2 /* items */
            invokevirtual com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode.getSourceLength:(Ljava/lang/Object;)J
            lstore 7 /* len */
        start local 7 // long len
         1: .line 355
            aload 0 /* this */
            aload 1 /* thisObj */
            lload 7 /* len */
            iconst_1
            invokevirtual com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode.constructOrArray:(Ljava/lang/Object;JZ)Lcom/oracle/truffle/api/object/DynamicObject;
            astore 9 /* obj */
        start local 9 // com.oracle.truffle.api.object.DynamicObject obj
         2: .line 357
            lconst_0
            lstore 10 /* k */
        start local 10 // long k
         3: .line 358
            goto 13
         4: .line 359
      StackMap locals: long com.oracle.truffle.api.object.DynamicObject long
      StackMap stack:
            aload 0 /* this */
            aload 2 /* items */
            lload 10 /* k */
            invokevirtual com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode.read:(Ljava/lang/Object;J)Ljava/lang/Object;
            astore 12 /* value */
        start local 12 // java.lang.Object value
         5: .line 360
            aload 12 /* value */
            astore 13 /* mapped */
        start local 13 // java.lang.Object mapped
         6: .line 361
            iload 5 /* mapping */
            ifeq 8
         7: .line 362
            aload 0 /* this */
            aload 4 /* thisArg */
            aload 3 /* mapFn */
            checkcast com.oracle.truffle.api.object.DynamicObject
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 13 /* mapped */
            aastore
            dup
            iconst_1
            lload 10 /* k */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.positiveLongToIntOrDouble:(J)Ljava/lang/Object;
            aastore
            invokevirtual com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode.callMapFn:(Ljava/lang/Object;Lcom/oracle/truffle/api/object/DynamicObject;[Ljava/lang/Object;)Ljava/lang/Object;
            astore 13 /* mapped */
         8: .line 364
      StackMap locals: java.lang.Object java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode.isTypedArrayImplementation:Z
            ifne 9
            aload 0 /* this */
            getfield com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode.isFastArrayNode:Lcom/oracle/truffle/js/nodes/access/IsArrayNode;
            aload 9 /* obj */
            invokevirtual com.oracle.truffle.js.nodes.access.IsArrayNode.execute:(Ljava/lang/Object;)Z
            ifeq 11
         9: .line 365
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 9 /* obj */
            lload 10 /* k */
            aload 13 /* mapped */
            invokevirtual com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode.writeOwn:(Ljava/lang/Object;JLjava/lang/Object;)V
        10: .line 366
            goto 12
        11: .line 367
      StackMap locals:
      StackMap stack:
            aload 9 /* obj */
            lload 10 /* k */
            invokestatic com.oracle.truffle.js.runtime.Boundaries.stringValueOf:(J)Ljava/lang/String;
            aload 13 /* mapped */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.createDataPropertyOrThrow:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)Z
            pop
        12: .line 369
      StackMap locals:
      StackMap stack:
            lload 10 /* k */
            lconst_1
            ladd
            lstore 10 /* k */
        end local 13 // java.lang.Object mapped
        end local 12 // java.lang.Object value
        13: .line 358
      StackMap locals:
      StackMap stack:
            lload 10 /* k */
            lload 7 /* len */
            lcmp
            iflt 4
        14: .line 371
            iload 6 /* setLength */
            ifeq 16
        15: .line 372
            aload 0 /* this */
            aload 9 /* obj */
            lload 7 /* len */
            invokevirtual com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode.setLength:(Ljava/lang/Object;J)V
        16: .line 374
      StackMap locals:
      StackMap stack:
            aload 9 /* obj */
            areturn
        end local 10 // long k
        end local 9 // com.oracle.truffle.api.object.DynamicObject obj
        end local 7 // long len
        end local 6 // boolean setLength
        end local 5 // boolean mapping
        end local 4 // java.lang.Object thisArg
        end local 3 // java.lang.Object mapFn
        end local 2 // java.lang.Object items
        end local 1 // java.lang.Object thisObj
        end local 0 // com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   17     0       this  Lcom/oracle/truffle/js/builtins/ArrayFunctionBuiltins$JSArrayFromNode;
            0   17     1    thisObj  Ljava/lang/Object;
            0   17     2      items  Ljava/lang/Object;
            0   17     3      mapFn  Ljava/lang/Object;
            0   17     4    thisArg  Ljava/lang/Object;
            0   17     5    mapping  Z
            0   17     6  setLength  Z
            1   17     7        len  J
            2   17     9        obj  Lcom/oracle/truffle/api/object/DynamicObject;
            3   17    10          k  J
            5   13    12      value  Ljava/lang/Object;
            6   13    13     mapped  Ljava/lang/Object;
    MethodParameters:
           Name  Flags
      thisObj    
      items      
      mapFn      
      thisArg    
      mapping    
      setLength  
}
SourceFile: "ArrayFunctionBuiltins.java"
NestHost: com.oracle.truffle.js.builtins.ArrayFunctionBuiltins
InnerClasses:
  public final Env = com.oracle.truffle.api.TruffleLanguage$Env of com.oracle.truffle.api.TruffleLanguage
  public abstract Child = com.oracle.truffle.api.nodes.Node$Child of com.oracle.truffle.api.nodes.Node
  public abstract JSArrayFromNode = com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFromNode of com.oracle.truffle.js.builtins.ArrayFunctionBuiltins
  public abstract JSArrayFunctionOperation = com.oracle.truffle.js.builtins.ArrayFunctionBuiltins$JSArrayFunctionOperation of com.oracle.truffle.js.builtins.ArrayFunctionBuiltins