public class com.oracle.truffle.js.nodes.promise.PerformPromiseAllNode extends com.oracle.truffle.js.nodes.promise.PerformPromiseCombinatorNode
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.oracle.truffle.js.nodes.promise.PerformPromiseAllNode
  super_class: com.oracle.truffle.js.nodes.promise.PerformPromiseCombinatorNode
{
  static final com.oracle.truffle.api.object.HiddenKey RESOLVE_ELEMENT_ARGS_KEY;
    descriptor: Lcom/oracle/truffle/api/object/HiddenKey;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  protected com.oracle.truffle.js.nodes.function.JSFunctionCallNode callResolve;
    descriptor: Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;
    flags: (0x0004) ACC_PROTECTED
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.nodes.Node$Child()

  protected com.oracle.truffle.js.nodes.access.PropertyGetNode getThen;
    descriptor: Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
    flags: (0x0004) ACC_PROTECTED
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.nodes.Node$Child()

  protected com.oracle.truffle.js.nodes.function.JSFunctionCallNode callThen;
    descriptor: Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;
    flags: (0x0004) ACC_PROTECTED
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.nodes.Node$Child()

  protected com.oracle.truffle.js.nodes.access.PropertySetNode setArgs;
    descriptor: Lcom/oracle/truffle/js/nodes/access/PropertySetNode;
    flags: (0x0004) ACC_PROTECTED
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.nodes.Node$Child()

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

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 76
            ldc Lcom/oracle/truffle/js/nodes/promise/PerformPromiseAllNode;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic com.oracle.truffle.js.nodes.promise.PerformPromiseAllNode.$assertionsDisabled:Z
         3: .line 94
            new com.oracle.truffle.api.object.HiddenKey
            dup
            ldc "ResolveElementArgs"
            invokespecial com.oracle.truffle.api.object.HiddenKey.<init>:(Ljava/lang/String;)V
            putstatic com.oracle.truffle.js.nodes.promise.PerformPromiseAllNode.RESOLVE_ELEMENT_ARGS_KEY:Lcom/oracle/truffle/api/object/HiddenKey;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected void <init>(com.oracle.truffle.js.runtime.JSContext);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.nodes.promise.PerformPromiseAllNode this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
         0: .line 103
            aload 0 /* this */
            aload 1 /* context */
            invokespecial com.oracle.truffle.js.nodes.promise.PerformPromiseCombinatorNode.<init>:(Lcom/oracle/truffle/js/runtime/JSContext;)V
         1: .line 100
            aload 0 /* this */
            invokestatic com.oracle.truffle.api.profiles.BranchProfile.create:()Lcom/oracle/truffle/api/profiles/BranchProfile;
            putfield com.oracle.truffle.js.nodes.promise.PerformPromiseAllNode.growProfile:Lcom/oracle/truffle/api/profiles/BranchProfile;
         2: .line 104
            aload 0 /* this */
            invokestatic com.oracle.truffle.js.nodes.function.JSFunctionCallNode.createCall:()Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;
            putfield com.oracle.truffle.js.nodes.promise.PerformPromiseAllNode.callResolve:Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;
         3: .line 105
            aload 0 /* this */
            ldc "then"
            iconst_0
            aload 1 /* context */
            invokestatic com.oracle.truffle.js.nodes.access.PropertyGetNode.create:(Ljava/lang/Object;ZLcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
            putfield com.oracle.truffle.js.nodes.promise.PerformPromiseAllNode.getThen:Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
         4: .line 106
            aload 0 /* this */
            invokestatic com.oracle.truffle.js.nodes.function.JSFunctionCallNode.createCall:()Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;
            putfield com.oracle.truffle.js.nodes.promise.PerformPromiseAllNode.callThen:Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;
         5: .line 107
            aload 0 /* this */
            getstatic com.oracle.truffle.js.nodes.promise.PerformPromiseAllNode.RESOLVE_ELEMENT_ARGS_KEY:Lcom/oracle/truffle/api/object/HiddenKey;
            aload 1 /* context */
            invokestatic com.oracle.truffle.js.nodes.access.PropertySetNode.createSetHidden:(Lcom/oracle/truffle/api/object/HiddenKey;Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/nodes/access/PropertySetNode;
            putfield com.oracle.truffle.js.nodes.promise.PerformPromiseAllNode.setArgs:Lcom/oracle/truffle/js/nodes/access/PropertySetNode;
         6: .line 108
            return
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.nodes.promise.PerformPromiseAllNode this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lcom/oracle/truffle/js/nodes/promise/PerformPromiseAllNode;
            0    7     1  context  Lcom/oracle/truffle/js/runtime/JSContext;
    MethodParameters:
         Name  Flags
      context  

  public static com.oracle.truffle.js.nodes.promise.PerformPromiseAllNode create(com.oracle.truffle.js.runtime.JSContext);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/nodes/promise/PerformPromiseAllNode;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.runtime.JSContext context
         0: .line 111
            new com.oracle.truffle.js.nodes.promise.PerformPromiseAllNode
            dup
            aload 0 /* context */
            invokespecial com.oracle.truffle.js.nodes.promise.PerformPromiseAllNode.<init>:(Lcom/oracle/truffle/js/runtime/JSContext;)V
            areturn
        end local 0 // com.oracle.truffle.js.runtime.JSContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  context  Lcom/oracle/truffle/js/runtime/JSContext;
    MethodParameters:
         Name  Flags
      context  

  public com.oracle.truffle.api.object.DynamicObject execute(com.oracle.truffle.js.runtime.objects.IteratorRecord, com.oracle.truffle.api.object.DynamicObject, com.oracle.truffle.js.runtime.objects.PromiseCapabilityRecord, java.lang.Object);
    descriptor: (Lcom/oracle/truffle/js/runtime/objects/IteratorRecord;Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/js/runtime/objects/PromiseCapabilityRecord;Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=13, args_size=5
        start local 0 // com.oracle.truffle.js.nodes.promise.PerformPromiseAllNode this
        start local 1 // com.oracle.truffle.js.runtime.objects.IteratorRecord iteratorRecord
        start local 2 // com.oracle.truffle.api.object.DynamicObject constructor
        start local 3 // com.oracle.truffle.js.runtime.objects.PromiseCapabilityRecord resultCapability
        start local 4 // java.lang.Object promiseResolve
         0: .line 116
            getstatic com.oracle.truffle.js.nodes.promise.PerformPromiseAllNode.$assertionsDisabled:Z
            ifne 1
            aload 2 /* constructor */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isConstructor:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 117
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.js.nodes.promise.PerformPromiseAllNode.$assertionsDisabled:Z
            ifne 2
            aload 4 /* promiseResolve */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isCallable:(Ljava/lang/Object;)Z
            ifne 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 118
      StackMap locals:
      StackMap stack:
            new com.oracle.truffle.js.runtime.util.SimpleArrayList
            dup
            bipush 10
            invokespecial com.oracle.truffle.js.runtime.util.SimpleArrayList.<init>:(I)V
            astore 5 /* values */
        start local 5 // com.oracle.truffle.js.runtime.util.SimpleArrayList values
         3: .line 119
            new com.oracle.truffle.js.nodes.promise.PerformPromiseCombinatorNode$BoxedInt
            dup
            iconst_1
            invokespecial com.oracle.truffle.js.nodes.promise.PerformPromiseCombinatorNode$BoxedInt.<init>:(I)V
            astore 6 /* remainingElementsCount */
        start local 6 // com.oracle.truffle.js.nodes.promise.PerformPromiseCombinatorNode$BoxedInt remainingElementsCount
         4: .line 120
            iconst_0
            istore 7 /* index */
        start local 7 // int index
         5: .line 121
      StackMap locals: com.oracle.truffle.js.runtime.util.SimpleArrayList com.oracle.truffle.js.nodes.promise.PerformPromiseCombinatorNode$BoxedInt int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* iteratorRecord */
            invokevirtual com.oracle.truffle.js.nodes.promise.PerformPromiseAllNode.iteratorStepOrSetDone:(Lcom/oracle/truffle/js/runtime/objects/IteratorRecord;)Ljava/lang/Object;
            astore 8 /* next */
        start local 8 // java.lang.Object next
         6: .line 122
            aload 8 /* next */
            getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
            if_acmpne 13
         7: .line 123
            aload 1 /* iteratorRecord */
            iconst_1
            invokevirtual com.oracle.truffle.js.runtime.objects.IteratorRecord.setDone:(Z)V
         8: .line 124
            aload 6 /* remainingElementsCount */
            dup
            getfield com.oracle.truffle.js.nodes.promise.PerformPromiseCombinatorNode$BoxedInt.value:I
            iconst_1
            isub
            putfield com.oracle.truffle.js.nodes.promise.PerformPromiseCombinatorNode$BoxedInt.value:I
         9: .line 125
            aload 6 /* remainingElementsCount */
            getfield com.oracle.truffle.js.nodes.promise.PerformPromiseCombinatorNode$BoxedInt.value:I
            ifne 12
        10: .line 126
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.promise.PerformPromiseAllNode.context:Lcom/oracle/truffle/js/runtime/JSContext;
            aload 5 /* values */
            invokevirtual com.oracle.truffle.js.runtime.util.SimpleArrayList.toArray:()[Ljava/lang/Object;
            invokestatic com.oracle.truffle.js.runtime.builtins.JSArray.createConstantObjectArray:(Lcom/oracle/truffle/js/runtime/JSContext;[Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObject;
            astore 9 /* valuesArray */
        start local 9 // com.oracle.truffle.api.object.DynamicObject valuesArray
        11: .line 127
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.promise.PerformPromiseAllNode.callResolve:Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;
            getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            aload 3 /* resultCapability */
            invokevirtual com.oracle.truffle.js.runtime.objects.PromiseCapabilityRecord.getResolve:()Ljava/lang/Object;
            aload 9 /* valuesArray */
            invokestatic com.oracle.truffle.js.runtime.JSArguments.createOneArg:(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;
            pop
        end local 9 // com.oracle.truffle.api.object.DynamicObject valuesArray
        12: .line 129
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 3 /* resultCapability */
            invokevirtual com.oracle.truffle.js.runtime.objects.PromiseCapabilityRecord.getPromise:()Lcom/oracle/truffle/api/object/DynamicObject;
            areturn
        13: .line 131
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* iteratorRecord */
            aload 8 /* next */
            invokevirtual com.oracle.truffle.js.nodes.promise.PerformPromiseAllNode.iteratorValueOrSetDone:(Lcom/oracle/truffle/js/runtime/objects/IteratorRecord;Ljava/lang/Object;)Ljava/lang/Object;
            astore 9 /* nextValue */
        start local 9 // java.lang.Object nextValue
        14: .line 132
            aload 5 /* values */
            getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.promise.PerformPromiseAllNode.growProfile:Lcom/oracle/truffle/api/profiles/BranchProfile;
            invokevirtual com.oracle.truffle.js.runtime.util.SimpleArrayList.add:(Ljava/lang/Object;Lcom/oracle/truffle/api/profiles/BranchProfile;)V
        15: .line 133
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.promise.PerformPromiseAllNode.callResolve:Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;
            aload 2 /* constructor */
            aload 4 /* promiseResolve */
            aload 9 /* nextValue */
            invokestatic com.oracle.truffle.js.runtime.JSArguments.createOneArg:(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;
            astore 10 /* nextPromise */
        start local 10 // java.lang.Object nextPromise
        16: .line 134
            aload 0 /* this */
            iload 7 /* index */
            aload 5 /* values */
            aload 3 /* resultCapability */
            aload 6 /* remainingElementsCount */
            invokevirtual com.oracle.truffle.js.nodes.promise.PerformPromiseAllNode.createResolveElementFunction:(ILcom/oracle/truffle/js/runtime/util/SimpleArrayList;Lcom/oracle/truffle/js/runtime/objects/PromiseCapabilityRecord;Lcom/oracle/truffle/js/nodes/promise/PerformPromiseCombinatorNode$BoxedInt;)Lcom/oracle/truffle/api/object/DynamicObject;
            astore 11 /* resolveElement */
        start local 11 // com.oracle.truffle.api.object.DynamicObject resolveElement
        17: .line 135
            aload 0 /* this */
            iload 7 /* index */
            aload 5 /* values */
            aload 3 /* resultCapability */
            aload 6 /* remainingElementsCount */
            invokevirtual com.oracle.truffle.js.nodes.promise.PerformPromiseAllNode.createRejectElementFunction:(ILcom/oracle/truffle/js/runtime/util/SimpleArrayList;Lcom/oracle/truffle/js/runtime/objects/PromiseCapabilityRecord;Lcom/oracle/truffle/js/nodes/promise/PerformPromiseCombinatorNode$BoxedInt;)Ljava/lang/Object;
            astore 12 /* rejectElement */
        start local 12 // java.lang.Object rejectElement
        18: .line 136
            aload 6 /* remainingElementsCount */
            dup
            getfield com.oracle.truffle.js.nodes.promise.PerformPromiseCombinatorNode$BoxedInt.value:I
            iconst_1
            iadd
            putfield com.oracle.truffle.js.nodes.promise.PerformPromiseCombinatorNode$BoxedInt.value:I
        19: .line 137
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.promise.PerformPromiseAllNode.callThen:Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;
            aload 10 /* nextPromise */
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.promise.PerformPromiseAllNode.getThen:Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
            aload 10 /* nextPromise */
            invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode.getValue:(Ljava/lang/Object;)Ljava/lang/Object;
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 11 /* resolveElement */
            aastore
            dup
            iconst_1
            aload 12 /* rejectElement */
            aastore
            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;
            pop
        end local 12 // java.lang.Object rejectElement
        end local 11 // com.oracle.truffle.api.object.DynamicObject resolveElement
        end local 10 // java.lang.Object nextPromise
        end local 9 // java.lang.Object nextValue
        end local 8 // java.lang.Object next
        20: .line 120
            iinc 7 /* index */ 1
            goto 5
        end local 7 // int index
        end local 6 // com.oracle.truffle.js.nodes.promise.PerformPromiseCombinatorNode$BoxedInt remainingElementsCount
        end local 5 // com.oracle.truffle.js.runtime.util.SimpleArrayList values
        end local 4 // java.lang.Object promiseResolve
        end local 3 // com.oracle.truffle.js.runtime.objects.PromiseCapabilityRecord resultCapability
        end local 2 // com.oracle.truffle.api.object.DynamicObject constructor
        end local 1 // com.oracle.truffle.js.runtime.objects.IteratorRecord iteratorRecord
        end local 0 // com.oracle.truffle.js.nodes.promise.PerformPromiseAllNode this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   21     0                    this  Lcom/oracle/truffle/js/nodes/promise/PerformPromiseAllNode;
            0   21     1          iteratorRecord  Lcom/oracle/truffle/js/runtime/objects/IteratorRecord;
            0   21     2             constructor  Lcom/oracle/truffle/api/object/DynamicObject;
            0   21     3        resultCapability  Lcom/oracle/truffle/js/runtime/objects/PromiseCapabilityRecord;
            0   21     4          promiseResolve  Ljava/lang/Object;
            3   21     5                  values  Lcom/oracle/truffle/js/runtime/util/SimpleArrayList<Ljava/lang/Object;>;
            4   21     6  remainingElementsCount  Lcom/oracle/truffle/js/nodes/promise/PerformPromiseCombinatorNode$BoxedInt;
            5   21     7                   index  I
            6   20     8                    next  Ljava/lang/Object;
           11   12     9             valuesArray  Lcom/oracle/truffle/api/object/DynamicObject;
           14   20     9               nextValue  Ljava/lang/Object;
           16   20    10             nextPromise  Ljava/lang/Object;
           17   20    11          resolveElement  Lcom/oracle/truffle/api/object/DynamicObject;
           18   20    12           rejectElement  Ljava/lang/Object;
    MethodParameters:
                  Name  Flags
      iteratorRecord    
      constructor       
      resultCapability  
      promiseResolve    

  protected com.oracle.truffle.api.object.DynamicObject createResolveElementFunction(int, com.oracle.truffle.js.runtime.util.SimpleArrayList<java.lang.Object>, com.oracle.truffle.js.runtime.objects.PromiseCapabilityRecord, com.oracle.truffle.js.nodes.promise.PerformPromiseCombinatorNode$BoxedInt);
    descriptor: (ILcom/oracle/truffle/js/runtime/util/SimpleArrayList;Lcom/oracle/truffle/js/runtime/objects/PromiseCapabilityRecord;Lcom/oracle/truffle/js/nodes/promise/PerformPromiseCombinatorNode$BoxedInt;)Lcom/oracle/truffle/api/object/DynamicObject;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=8, locals=7, args_size=5
        start local 0 // com.oracle.truffle.js.nodes.promise.PerformPromiseAllNode this
        start local 1 // int index
        start local 2 // com.oracle.truffle.js.runtime.util.SimpleArrayList values
        start local 3 // com.oracle.truffle.js.runtime.objects.PromiseCapabilityRecord resultCapability
        start local 4 // com.oracle.truffle.js.nodes.promise.PerformPromiseCombinatorNode$BoxedInt remainingElementsCount
         0: .line 142
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.promise.PerformPromiseAllNode.context:Lcom/oracle/truffle/js/runtime/JSContext;
            getstatic com.oracle.truffle.js.runtime.JSContext$BuiltinFunctionKey.PromiseAllResolveElement:Lcom/oracle/truffle/js/runtime/JSContext$BuiltinFunctionKey;
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  com/oracle/truffle/js/nodes/promise/PerformPromiseAllNode.lambda$0(Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData; (6)
                  (Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
            invokevirtual com.oracle.truffle.js.runtime.JSContext.getOrCreateBuiltinFunctionData:(Lcom/oracle/truffle/js/runtime/JSContext$BuiltinFunctionKey;Ljava/util/function/Function;)Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
            astore 5 /* functionData */
        start local 5 // com.oracle.truffle.js.runtime.builtins.JSFunctionData functionData
         1: .line 143
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.promise.PerformPromiseAllNode.context:Lcom/oracle/truffle/js/runtime/JSContext;
            invokevirtual com.oracle.truffle.js.runtime.JSContext.getRealm:()Lcom/oracle/truffle/js/runtime/JSRealm;
            aload 5 /* functionData */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.create:(Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;)Lcom/oracle/truffle/api/object/DynamicObject;
            astore 6 /* function */
        start local 6 // com.oracle.truffle.api.object.DynamicObject function
         2: .line 144
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.promise.PerformPromiseAllNode.setArgs:Lcom/oracle/truffle/js/nodes/access/PropertySetNode;
            aload 6 /* function */
            new com.oracle.truffle.js.nodes.promise.PerformPromiseAllNode$ResolveElementArgs
            dup
            iload 1 /* index */
            aload 2 /* values */
            aload 3 /* resultCapability */
            aload 4 /* remainingElementsCount */
            invokespecial com.oracle.truffle.js.nodes.promise.PerformPromiseAllNode$ResolveElementArgs.<init>:(ILcom/oracle/truffle/js/runtime/util/SimpleArrayList;Lcom/oracle/truffle/js/runtime/objects/PromiseCapabilityRecord;Lcom/oracle/truffle/js/nodes/promise/PerformPromiseCombinatorNode$BoxedInt;)V
            invokevirtual com.oracle.truffle.js.nodes.access.PropertySetNode.setValue:(Ljava/lang/Object;Ljava/lang/Object;)V
         3: .line 145
            aload 6 /* function */
            areturn
        end local 6 // com.oracle.truffle.api.object.DynamicObject function
        end local 5 // com.oracle.truffle.js.runtime.builtins.JSFunctionData functionData
        end local 4 // com.oracle.truffle.js.nodes.promise.PerformPromiseCombinatorNode$BoxedInt remainingElementsCount
        end local 3 // com.oracle.truffle.js.runtime.objects.PromiseCapabilityRecord resultCapability
        end local 2 // com.oracle.truffle.js.runtime.util.SimpleArrayList values
        end local 1 // int index
        end local 0 // com.oracle.truffle.js.nodes.promise.PerformPromiseAllNode this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    4     0                    this  Lcom/oracle/truffle/js/nodes/promise/PerformPromiseAllNode;
            0    4     1                   index  I
            0    4     2                  values  Lcom/oracle/truffle/js/runtime/util/SimpleArrayList<Ljava/lang/Object;>;
            0    4     3        resultCapability  Lcom/oracle/truffle/js/runtime/objects/PromiseCapabilityRecord;
            0    4     4  remainingElementsCount  Lcom/oracle/truffle/js/nodes/promise/PerformPromiseCombinatorNode$BoxedInt;
            1    4     5            functionData  Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
            2    4     6                function  Lcom/oracle/truffle/api/object/DynamicObject;
    Signature: (ILcom/oracle/truffle/js/runtime/util/SimpleArrayList<Ljava/lang/Object;>;Lcom/oracle/truffle/js/runtime/objects/PromiseCapabilityRecord;Lcom/oracle/truffle/js/nodes/promise/PerformPromiseCombinatorNode$BoxedInt;)Lcom/oracle/truffle/api/object/DynamicObject;
    MethodParameters:
                        Name  Flags
      index                   
      values                  
      resultCapability        
      remainingElementsCount  

  protected  createRejectElementFunction(int, com.oracle.truffle.js.runtime.util.SimpleArrayList<java.lang.Object>, com.oracle.truffle.js.runtime.objects.PromiseCapabilityRecord, com.oracle.truffle.js.nodes.promise.PerformPromiseCombinatorNode$BoxedInt);
    descriptor: (ILcom/oracle/truffle/js/runtime/util/SimpleArrayList;Lcom/oracle/truffle/js/runtime/objects/PromiseCapabilityRecord;Lcom/oracle/truffle/js/nodes/promise/PerformPromiseCombinatorNode$BoxedInt;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=5, args_size=5
        start local 0 // com.oracle.truffle.js.nodes.promise.PerformPromiseAllNode this
        start local 1 // int index
        start local 2 // com.oracle.truffle.js.runtime.util.SimpleArrayList values
        start local 3 // com.oracle.truffle.js.runtime.objects.PromiseCapabilityRecord resultCapability
        start local 4 // com.oracle.truffle.js.nodes.promise.PerformPromiseCombinatorNode$BoxedInt remainingElementsCount
         0: .line 150
            aload 3 /* resultCapability */
            invokevirtual com.oracle.truffle.js.runtime.objects.PromiseCapabilityRecord.getReject:()Ljava/lang/Object;
            areturn
        end local 4 // com.oracle.truffle.js.nodes.promise.PerformPromiseCombinatorNode$BoxedInt remainingElementsCount
        end local 3 // com.oracle.truffle.js.runtime.objects.PromiseCapabilityRecord resultCapability
        end local 2 // com.oracle.truffle.js.runtime.util.SimpleArrayList values
        end local 1 // int index
        end local 0 // com.oracle.truffle.js.nodes.promise.PerformPromiseAllNode this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    1     0                    this  Lcom/oracle/truffle/js/nodes/promise/PerformPromiseAllNode;
            0    1     1                   index  I
            0    1     2                  values  Lcom/oracle/truffle/js/runtime/util/SimpleArrayList<Ljava/lang/Object;>;
            0    1     3        resultCapability  Lcom/oracle/truffle/js/runtime/objects/PromiseCapabilityRecord;
            0    1     4  remainingElementsCount  Lcom/oracle/truffle/js/nodes/promise/PerformPromiseCombinatorNode$BoxedInt;
    Signature: (ILcom/oracle/truffle/js/runtime/util/SimpleArrayList<Ljava/lang/Object;>;Lcom/oracle/truffle/js/runtime/objects/PromiseCapabilityRecord;Lcom/oracle/truffle/js/nodes/promise/PerformPromiseCombinatorNode$BoxedInt;)Ljava/lang/Object;
    MethodParameters:
                        Name  Flags
      index                   
      values                  
      resultCapability        
      remainingElementsCount  

  private static com.oracle.truffle.js.runtime.builtins.JSFunctionData createResolveElementFunctionImpl(com.oracle.truffle.js.runtime.JSContext);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // com.oracle.truffle.js.runtime.JSContext context
         0: .line 188
            invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
            new com.oracle.truffle.js.nodes.promise.PerformPromiseAllNode$1PromiseAllResolveElementRootNode
            dup
            aload 0 /* context */
            invokespecial com.oracle.truffle.js.nodes.promise.PerformPromiseAllNode$1PromiseAllResolveElementRootNode.<init>:(Lcom/oracle/truffle/js/runtime/JSContext;)V
            invokeinterface com.oracle.truffle.api.TruffleRuntime.createCallTarget:(Lcom/oracle/truffle/api/nodes/RootNode;)Lcom/oracle/truffle/api/RootCallTarget;
            astore 1 /* callTarget */
        start local 1 // com.oracle.truffle.api.CallTarget callTarget
         1: .line 189
            aload 0 /* context */
            aload 1 /* callTarget */
            iconst_1
            ldc ""
            invokestatic com.oracle.truffle.js.runtime.builtins.JSFunctionData.createCallOnly:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/CallTarget;ILjava/lang/String;)Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
            areturn
        end local 1 // com.oracle.truffle.api.CallTarget callTarget
        end local 0 // com.oracle.truffle.js.runtime.JSContext context
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0     context  Lcom/oracle/truffle/js/runtime/JSContext;
            1    2     1  callTarget  Lcom/oracle/truffle/api/CallTarget;
    MethodParameters:
         Name  Flags
      context  

  static com.oracle.truffle.api.TruffleStackTraceElement createPromiseAllStackTraceElement(int, com.oracle.truffle.js.runtime.JSRealm);
    descriptor: (ILcom/oracle/truffle/js/runtime/JSRealm;)Lcom/oracle/truffle/api/TruffleStackTraceElement;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // int promiseIndex
        start local 1 // com.oracle.truffle.js.runtime.JSRealm realm
         0: .line 193
            new com.oracle.truffle.js.nodes.promise.PerformPromiseAllNode$PromiseAllMarkerRootNode
            dup
            aconst_null
            invokestatic com.oracle.truffle.js.nodes.function.JSBuiltin.createSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
            invokespecial com.oracle.truffle.js.nodes.promise.PerformPromiseAllNode$PromiseAllMarkerRootNode.<init>:(Lcom/oracle/truffle/js/lang/JavaScriptLanguage;Lcom/oracle/truffle/api/source/SourceSection;)V
         1: .line 194
            aload 1 /* realm */
            invokevirtual com.oracle.truffle.js.runtime.JSRealm.getPromiseAllFunctionObject:()Lcom/oracle/truffle/api/object/DynamicObject;
            invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.getFunctionData:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
            invokevirtual com.oracle.truffle.js.runtime.builtins.JSFunctionData.getCallTarget:()Lcom/oracle/truffle/api/CallTarget;
            checkcast com.oracle.truffle.api.RootCallTarget
         2: .line 195
            invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
            aload 1 /* realm */
            invokevirtual com.oracle.truffle.js.runtime.JSRealm.getPromiseConstructor:()Lcom/oracle/truffle/api/object/DynamicObject;
            aload 1 /* realm */
            invokevirtual com.oracle.truffle.js.runtime.JSRealm.getPromiseAllFunctionObject:()Lcom/oracle/truffle/api/object/DynamicObject;
            iload 0 /* promiseIndex */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokestatic com.oracle.truffle.js.runtime.JSArguments.createOneArg:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)[Ljava/lang/Object;
            invokeinterface com.oracle.truffle.api.TruffleRuntime.createMaterializedFrame:([Ljava/lang/Object;)Lcom/oracle/truffle/api/frame/MaterializedFrame;
         3: .line 193
            invokestatic com.oracle.truffle.api.TruffleStackTraceElement.create:(Lcom/oracle/truffle/api/nodes/Node;Lcom/oracle/truffle/api/RootCallTarget;Lcom/oracle/truffle/api/frame/Frame;)Lcom/oracle/truffle/api/TruffleStackTraceElement;
            areturn
        end local 1 // com.oracle.truffle.js.runtime.JSRealm realm
        end local 0 // int promiseIndex
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0  promiseIndex  I
            0    4     1         realm  Lcom/oracle/truffle/js/runtime/JSRealm;
    MethodParameters:
              Name  Flags
      promiseIndex  
      realm         

  private static com.oracle.truffle.js.runtime.builtins.JSFunctionData lambda$0(com.oracle.truffle.js.runtime.JSContext);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.runtime.JSContext c
         0: .line 142
            aload 0 /* c */
            invokestatic com.oracle.truffle.js.nodes.promise.PerformPromiseAllNode.createResolveElementFunctionImpl:(Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
            areturn
        end local 0 // com.oracle.truffle.js.runtime.JSContext c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     c  Lcom/oracle/truffle/js/runtime/JSContext;
}
SourceFile: "PerformPromiseAllNode.java"
NestMembers:
  com.oracle.truffle.js.nodes.promise.PerformPromiseAllNode$1PromiseAllResolveElementRootNode  com.oracle.truffle.js.nodes.promise.PerformPromiseAllNode$PromiseAllMarkerRootNode  com.oracle.truffle.js.nodes.promise.PerformPromiseAllNode$ResolveElementArgs
InnerClasses:
  public abstract Child = com.oracle.truffle.api.nodes.Node$Child of com.oracle.truffle.api.nodes.Node
  PromiseAllResolveElementRootNode = com.oracle.truffle.js.nodes.promise.PerformPromiseAllNode$1PromiseAllResolveElementRootNode
  public final PromiseAllMarkerRootNode = com.oracle.truffle.js.nodes.promise.PerformPromiseAllNode$PromiseAllMarkerRootNode of com.oracle.truffle.js.nodes.promise.PerformPromiseAllNode
  public final ResolveElementArgs = com.oracle.truffle.js.nodes.promise.PerformPromiseAllNode$ResolveElementArgs of com.oracle.truffle.js.nodes.promise.PerformPromiseAllNode
  protected final BoxedInt = com.oracle.truffle.js.nodes.promise.PerformPromiseCombinatorNode$BoxedInt of com.oracle.truffle.js.nodes.promise.PerformPromiseCombinatorNode
  public final BuiltinFunctionKey = com.oracle.truffle.js.runtime.JSContext$BuiltinFunctionKey of com.oracle.truffle.js.runtime.JSContext
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles