class com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode extends com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldNode
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode
  super_class: com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldNode
{
  private com.oracle.truffle.js.nodes.JavaScriptNode readIteratorTemp;
    descriptor: Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.nodes.Node$Child()

  private com.oracle.truffle.js.nodes.access.WriteNode writeIteratorTemp;
    descriptor: Lcom/oracle/truffle/js/nodes/access/WriteNode;
    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.IteratorNextNode iteratorNextNode;
    descriptor: Lcom/oracle/truffle/js/nodes/access/IteratorNextNode;
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.nodes.Node$Child()

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

  private com.oracle.truffle.js.nodes.access.IteratorValueNode iteratorValueNode;
    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.GetMethodNode getThrowMethodNode;
    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.GetMethodNode getReturnMethodNode;
    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.function.JSFunctionCallNode callThrowNode;
    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.function.JSFunctionCallNode callReturnNode;
    descriptor: Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.nodes.Node$Child()

  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=1, locals=0, args_size=0
         0: .line 157
            ldc Lcom/oracle/truffle/js/nodes/control/AsyncGeneratorYieldStarNode;
            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.control.AsyncGeneratorYieldStarNode.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected void <init>(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.access.JSReadFrameSlotNode, com.oracle.truffle.js.nodes.access.JSReadFrameSlotNode, com.oracle.truffle.js.nodes.control.ReturnNode, com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.access.WriteNode);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;Lcom/oracle/truffle/js/nodes/control/ReturnNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/access/WriteNode;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=8, args_size=8
        start local 0 // com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode expression
        start local 3 // com.oracle.truffle.js.nodes.access.JSReadFrameSlotNode readAsyncContextNode
        start local 4 // com.oracle.truffle.js.nodes.access.JSReadFrameSlotNode readYieldResultNode
        start local 5 // com.oracle.truffle.js.nodes.control.ReturnNode returnNode
        start local 6 // com.oracle.truffle.js.nodes.JavaScriptNode readTemp
        start local 7 // com.oracle.truffle.js.nodes.access.WriteNode writeTemp
         0: .line 172
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* expression */
            aload 3 /* readAsyncContextNode */
            aload 4 /* readYieldResultNode */
            aload 5 /* returnNode */
            invokespecial com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldNode.<init>:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;Lcom/oracle/truffle/js/nodes/control/ReturnNode;)V
         1: .line 173
            aload 0 /* this */
            aload 6 /* readTemp */
            putfield com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.readIteratorTemp:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
         2: .line 174
            aload 0 /* this */
            aload 7 /* writeTemp */
            putfield com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.writeIteratorTemp:Lcom/oracle/truffle/js/nodes/access/WriteNode;
         3: .line 176
            aload 0 /* this */
            aload 1 /* context */
            aconst_null
            invokestatic com.oracle.truffle.js.nodes.access.GetIteratorNode.createAsync:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/access/GetIteratorNode;
            putfield com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.getIteratorNode:Lcom/oracle/truffle/js/nodes/access/GetIteratorNode;
         4: .line 177
            aload 0 /* this */
            invokestatic com.oracle.truffle.js.nodes.access.IteratorNextNode.create:()Lcom/oracle/truffle/js/nodes/access/IteratorNextNode;
            putfield com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.iteratorNextNode:Lcom/oracle/truffle/js/nodes/access/IteratorNextNode;
         5: .line 178
            aload 0 /* this */
            aload 1 /* context */
            invokestatic com.oracle.truffle.js.nodes.access.IteratorCompleteNode.create:(Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/nodes/access/IteratorCompleteNode;
            putfield com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.iteratorCompleteNode:Lcom/oracle/truffle/js/nodes/access/IteratorCompleteNode;
         6: .line 179
            aload 0 /* this */
            aload 1 /* context */
            aconst_null
            invokestatic com.oracle.truffle.js.nodes.access.IteratorValueNode.create:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/access/IteratorValueNode;
            putfield com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.iteratorValueNode:Lcom/oracle/truffle/js/nodes/access/IteratorValueNode;
         7: .line 180
            aload 0 /* this */
            aload 1 /* context */
            aconst_null
            ldc "throw"
            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.nodes.control.AsyncGeneratorYieldStarNode.getThrowMethodNode:Lcom/oracle/truffle/js/nodes/access/GetMethodNode;
         8: .line 181
            aload 0 /* this */
            aload 1 /* context */
            aconst_null
            ldc "return"
            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.nodes.control.AsyncGeneratorYieldStarNode.getReturnMethodNode:Lcom/oracle/truffle/js/nodes/access/GetMethodNode;
         9: .line 182
            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.control.AsyncGeneratorYieldStarNode.callThrowNode:Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;
        10: .line 183
            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.control.AsyncGeneratorYieldStarNode.callReturnNode:Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;
        11: .line 184
            return
        end local 7 // com.oracle.truffle.js.nodes.access.WriteNode writeTemp
        end local 6 // com.oracle.truffle.js.nodes.JavaScriptNode readTemp
        end local 5 // com.oracle.truffle.js.nodes.control.ReturnNode returnNode
        end local 4 // com.oracle.truffle.js.nodes.access.JSReadFrameSlotNode readYieldResultNode
        end local 3 // com.oracle.truffle.js.nodes.access.JSReadFrameSlotNode readAsyncContextNode
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode expression
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   12     0                  this  Lcom/oracle/truffle/js/nodes/control/AsyncGeneratorYieldStarNode;
            0   12     1               context  Lcom/oracle/truffle/js/runtime/JSContext;
            0   12     2            expression  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0   12     3  readAsyncContextNode  Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;
            0   12     4   readYieldResultNode  Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;
            0   12     5            returnNode  Lcom/oracle/truffle/js/nodes/control/ReturnNode;
            0   12     6              readTemp  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0   12     7             writeTemp  Lcom/oracle/truffle/js/nodes/access/WriteNode;
    MethodParameters:
                      Name  Flags
      context               
      expression            
      readAsyncContextNode  
      readYieldResultNode   
      returnNode            
      readTemp              
      writeTemp             

  public java.lang.Object resume(com.oracle.truffle.api.frame.VirtualFrame);
    descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=10, args_size=2
        start local 0 // com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode this
        start local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
         0: .line 188
            aload 0 /* this */
            aload 1 /* frame */
            invokevirtual com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.getStateAsInt:(Lcom/oracle/truffle/api/frame/VirtualFrame;)I
            istore 2 /* state */
        start local 2 // int state
         1: .line 199
            iload 2 /* state */
            ifne 6
         2: .line 200
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.getIteratorNode:Lcom/oracle/truffle/js/nodes/access/GetIteratorNode;
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.expression:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            aload 1 /* frame */
            invokevirtual com.oracle.truffle.js.nodes.JavaScriptNode.execute:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
            invokevirtual com.oracle.truffle.js.nodes.access.GetIteratorNode.execute:(Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/objects/IteratorRecord;
            astore 3 /* iteratorRecord */
        start local 3 // com.oracle.truffle.js.runtime.objects.IteratorRecord iteratorRecord
         3: .line 201
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.writeIteratorTemp:Lcom/oracle/truffle/js/nodes/access/WriteNode;
            aload 1 /* frame */
            aload 3 /* iteratorRecord */
            invokeinterface com.oracle.truffle.js.nodes.access.WriteNode.executeWrite:(Lcom/oracle/truffle/api/frame/VirtualFrame;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 202
            iconst_1
            istore 2 /* state */
         5: .line 203
            goto 7
        end local 3 // com.oracle.truffle.js.runtime.objects.IteratorRecord iteratorRecord
         6: .line 204
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.readIteratorTemp:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            aload 1 /* frame */
            invokevirtual com.oracle.truffle.js.nodes.JavaScriptNode.execute:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
            checkcast com.oracle.truffle.js.runtime.objects.IteratorRecord
            astore 3 /* iteratorRecord */
        start local 3 // com.oracle.truffle.js.runtime.objects.IteratorRecord iteratorRecord
         7: .line 206
      StackMap locals: com.oracle.truffle.js.runtime.objects.IteratorRecord
      StackMap stack:
            aload 3 /* iteratorRecord */
            invokevirtual com.oracle.truffle.js.runtime.objects.IteratorRecord.getIterator:()Lcom/oracle/truffle/api/object/DynamicObject;
            astore 4 /* iterator */
        start local 4 // com.oracle.truffle.api.object.DynamicObject iterator
         8: .line 208
            getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            invokestatic com.oracle.truffle.js.runtime.objects.Completion.forNormal:(Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/objects/Completion;
            astore 5 /* received */
        start local 5 // com.oracle.truffle.js.runtime.objects.Completion received
         9: .line 210
      StackMap locals: com.oracle.truffle.api.object.DynamicObject com.oracle.truffle.js.runtime.objects.Completion
      StackMap stack:
            iload 2 /* state */
            tableswitch { // 1 - 8
                    1: 10
                    2: 36
                    3: 45
                    4: 54
                    5: 57
                    6: 65
                    7: 73
                    8: 76
              default: 78
          }
        10: .line 212
      StackMap locals:
      StackMap stack:
            aload 5 /* received */
            invokevirtual com.oracle.truffle.js.runtime.objects.Completion.isNormal:()Z
            ifeq 14
        11: .line 213
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.iteratorNextNode:Lcom/oracle/truffle/js/nodes/access/IteratorNextNode;
            aload 3 /* iteratorRecord */
            aload 5 /* received */
            invokevirtual com.oracle.truffle.js.runtime.objects.Completion.getValue:()Ljava/lang/Object;
            invokevirtual com.oracle.truffle.js.nodes.access.IteratorNextNode.execute:(Lcom/oracle/truffle/js/runtime/objects/IteratorRecord;Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObject;
            astore 6 /* innerResult */
        start local 6 // com.oracle.truffle.api.object.DynamicObject innerResult
        12: .line 214
            aload 0 /* this */
            aload 1 /* frame */
            aload 6 /* innerResult */
            iconst_2
            invokevirtual com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.awaitWithNext:(Lcom/oracle/truffle/api/frame/VirtualFrame;Ljava/lang/Object;I)V
        end local 6 // com.oracle.truffle.api.object.DynamicObject innerResult
        13: .line 215
            goto 79
      StackMap locals:
      StackMap stack:
        14: aload 5 /* received */
            invokevirtual com.oracle.truffle.js.runtime.objects.Completion.isThrow:()Z
            ifeq 28
        15: .line 216
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.getThrowMethodNode:Lcom/oracle/truffle/js/nodes/access/GetMethodNode;
            aload 4 /* iterator */
            invokevirtual com.oracle.truffle.js.nodes.access.GetMethodNode.executeWithTarget:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 6 /* throwMethod */
        start local 6 // java.lang.Object throwMethod
        16: .line 217
            aload 6 /* throwMethod */
            getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            if_acmpeq 20
        17: .line 218
            aload 0 /* this */
            aload 6 /* throwMethod */
            aload 4 /* iterator */
            aload 5 /* received */
            invokevirtual com.oracle.truffle.js.runtime.objects.Completion.getValue:()Ljava/lang/Object;
            invokevirtual com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.callThrowMethod:(Ljava/lang/Object;Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
            astore 7 /* innerResult */
        start local 7 // java.lang.Object innerResult
        18: .line 219
            aload 0 /* this */
            aload 1 /* frame */
            aload 7 /* innerResult */
            iconst_2
            invokevirtual com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.awaitWithNext:(Lcom/oracle/truffle/api/frame/VirtualFrame;Ljava/lang/Object;I)V
        end local 7 // java.lang.Object innerResult
        19: .line 225
            goto 79
        20: .line 232
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.getReturnMethodNode:Lcom/oracle/truffle/js/nodes/access/GetMethodNode;
            aload 4 /* iterator */
            invokevirtual com.oracle.truffle.js.nodes.access.GetMethodNode.executeWithTarget:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 7 /* returnMethod */
        start local 7 // java.lang.Object returnMethod
        21: .line 233
            aload 7 /* returnMethod */
            getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            if_acmpeq 27
        22: .line 236
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.callReturnNode:Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;
            aload 4 /* iterator */
            aload 7 /* returnMethod */
            invokestatic com.oracle.truffle.js.runtime.JSArguments.createZeroArg:(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 8 /* returnResult */
        start local 8 // java.lang.Object returnResult
        23: .line 237
            goto 26
        end local 8 // java.lang.Object returnResult
      StackMap locals: com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode com.oracle.truffle.api.frame.VirtualFrame int com.oracle.truffle.js.runtime.objects.IteratorRecord com.oracle.truffle.api.object.DynamicObject com.oracle.truffle.js.runtime.objects.Completion java.lang.Object java.lang.Object
      StackMap stack: com.oracle.truffle.js.runtime.GraalJSException
        24: pop
        25: .line 239
            goto 27
        start local 8 // java.lang.Object returnResult
        26: .line 241
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            aload 1 /* frame */
            aload 8 /* returnResult */
            bipush 8
            invokevirtual com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.awaitWithNext:(Lcom/oracle/truffle/api/frame/VirtualFrame;Ljava/lang/Object;I)V
        end local 8 // java.lang.Object returnResult
        27: .line 243
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokestatic com.oracle.truffle.js.runtime.Errors.createTypeErrorYieldStarThrowMethodMissing:(Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/js/runtime/JSException;
            athrow
        end local 7 // java.lang.Object returnMethod
        end local 6 // java.lang.Object throwMethod
        28: .line 246
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.$assertionsDisabled:Z
            ifne 29
            aload 5 /* received */
            invokevirtual com.oracle.truffle.js.runtime.objects.Completion.isReturn:()Z
            ifne 29
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        29: .line 247
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.getReturnMethodNode:Lcom/oracle/truffle/js/nodes/access/GetMethodNode;
            aload 4 /* iterator */
            invokevirtual com.oracle.truffle.js.nodes.access.GetMethodNode.executeWithTarget:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 6 /* returnMethod */
        start local 6 // java.lang.Object returnMethod
        30: .line 248
            aload 6 /* returnMethod */
            getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            if_acmpeq 34
        31: .line 249
            aload 0 /* this */
            aload 6 /* returnMethod */
            aload 4 /* iterator */
            aload 5 /* received */
            invokevirtual com.oracle.truffle.js.runtime.objects.Completion.getValue:()Ljava/lang/Object;
            invokevirtual com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.callReturnMethod:(Ljava/lang/Object;Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
            astore 7 /* innerReturnResult */
        start local 7 // java.lang.Object innerReturnResult
        32: .line 250
            aload 0 /* this */
            aload 1 /* frame */
            aload 7 /* innerReturnResult */
            iconst_3
            invokevirtual com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.awaitWithNext:(Lcom/oracle/truffle/api/frame/VirtualFrame;Ljava/lang/Object;I)V
        end local 7 // java.lang.Object innerReturnResult
        33: .line 251
            goto 79
        34: .line 252
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            aload 1 /* frame */
            aload 5 /* received */
            invokevirtual com.oracle.truffle.js.runtime.objects.Completion.getValue:()Ljava/lang/Object;
            bipush 7
            invokevirtual com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.awaitWithNext:(Lcom/oracle/truffle/api/frame/VirtualFrame;Ljava/lang/Object;I)V
        end local 6 // java.lang.Object returnMethod
        35: .line 255
            goto 79
        36: .line 260
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* frame */
            invokevirtual com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.resumeAwait:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
            astore 6 /* awaited */
        start local 6 // java.lang.Object awaited
        37: .line 261
            aload 0 /* this */
            aload 6 /* awaited */
            invokevirtual com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.checkcastIterResult:(Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObject;
            astore 7 /* innerResult */
        start local 7 // com.oracle.truffle.api.object.DynamicObject innerResult
        38: .line 262
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.iteratorCompleteNode:Lcom/oracle/truffle/js/nodes/access/IteratorCompleteNode;
            aload 7 /* innerResult */
            invokevirtual com.oracle.truffle.js.nodes.access.IteratorCompleteNode.execute:(Lcom/oracle/truffle/api/object/DynamicObject;)Z
            istore 8 /* done */
        start local 8 // boolean done
        39: .line 263
            iload 8 /* done */
            ifeq 42
        40: .line 264
            aload 0 /* this */
            aload 1 /* frame */
            invokevirtual com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.reset:(Lcom/oracle/truffle/api/frame/VirtualFrame;)V
        41: .line 265
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.iteratorValueNode:Lcom/oracle/truffle/js/nodes/access/IteratorValueNode;
            aload 7 /* innerResult */
            invokevirtual com.oracle.truffle.js.nodes.access.IteratorValueNode.execute:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/Object;
            areturn
        42: .line 267
      StackMap locals: java.lang.Object com.oracle.truffle.api.object.DynamicObject int
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.iteratorValueNode:Lcom/oracle/truffle/js/nodes/access/IteratorValueNode;
            aload 7 /* innerResult */
            invokevirtual com.oracle.truffle.js.nodes.access.IteratorValueNode.execute:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/Object;
            astore 9 /* iteratorValue */
        start local 9 // java.lang.Object iteratorValue
        43: .line 268
            aload 0 /* this */
            aload 1 /* frame */
            aload 9 /* iteratorValue */
            iconst_4
            invokevirtual com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.awaitWithNext:(Lcom/oracle/truffle/api/frame/VirtualFrame;Ljava/lang/Object;I)V
        44: .line 269
            goto 79
        end local 9 // java.lang.Object iteratorValue
        end local 8 // boolean done
        end local 7 // com.oracle.truffle.api.object.DynamicObject innerResult
        end local 6 // java.lang.Object awaited
        45: .line 273
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* frame */
            invokevirtual com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.resumeAwait:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
            astore 6 /* awaited */
        start local 6 // java.lang.Object awaited
        46: .line 274
            aload 0 /* this */
            aload 6 /* awaited */
            invokevirtual com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.checkcastIterResult:(Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObject;
            astore 7 /* innerReturnResult */
        start local 7 // com.oracle.truffle.api.object.DynamicObject innerReturnResult
        47: .line 275
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.iteratorCompleteNode:Lcom/oracle/truffle/js/nodes/access/IteratorCompleteNode;
            aload 7 /* innerReturnResult */
            invokevirtual com.oracle.truffle.js.nodes.access.IteratorCompleteNode.execute:(Lcom/oracle/truffle/api/object/DynamicObject;)Z
            istore 8 /* done */
        start local 8 // boolean done
        48: .line 276
            iload 8 /* done */
            ifeq 51
        49: .line 277
            aload 0 /* this */
            aload 1 /* frame */
            invokevirtual com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.reset:(Lcom/oracle/truffle/api/frame/VirtualFrame;)V
        50: .line 278
            aload 0 /* this */
            aload 1 /* frame */
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.iteratorValueNode:Lcom/oracle/truffle/js/nodes/access/IteratorValueNode;
            aload 7 /* innerReturnResult */
            invokevirtual com.oracle.truffle.js.nodes.access.IteratorValueNode.execute:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/Object;
            invokevirtual com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.returnValue:(Lcom/oracle/truffle/api/frame/VirtualFrame;Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        51: .line 280
      StackMap locals: java.lang.Object com.oracle.truffle.api.object.DynamicObject int
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.iteratorValueNode:Lcom/oracle/truffle/js/nodes/access/IteratorValueNode;
            aload 7 /* innerReturnResult */
            invokevirtual com.oracle.truffle.js.nodes.access.IteratorValueNode.execute:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/Object;
            astore 9 /* iteratorValue */
        start local 9 // java.lang.Object iteratorValue
        52: .line 281
            aload 0 /* this */
            aload 1 /* frame */
            aload 9 /* iteratorValue */
            iconst_4
            invokevirtual com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.awaitWithNext:(Lcom/oracle/truffle/api/frame/VirtualFrame;Ljava/lang/Object;I)V
        53: .line 282
            goto 79
        end local 9 // java.lang.Object iteratorValue
        end local 8 // boolean done
        end local 7 // com.oracle.truffle.api.object.DynamicObject innerReturnResult
        end local 6 // java.lang.Object awaited
        54: .line 288
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* frame */
            invokevirtual com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.resumeAwait:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
            astore 6 /* awaited */
        start local 6 // java.lang.Object awaited
        55: .line 289
            aload 0 /* this */
            aload 1 /* frame */
            aload 6 /* awaited */
            iconst_5
            invokevirtual com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.yieldWithNext:(Lcom/oracle/truffle/api/frame/VirtualFrame;Ljava/lang/Object;I)Ljava/lang/Object;
            pop
        56: .line 290
            goto 79
        end local 6 // java.lang.Object awaited
        57: .line 293
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* frame */
            invokevirtual com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.resumeYield:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Lcom/oracle/truffle/js/runtime/objects/Completion;
            astore 6 /* resumptionValue */
        start local 6 // com.oracle.truffle.js.runtime.objects.Completion resumptionValue
        58: .line 294
            aload 6 /* resumptionValue */
            invokevirtual com.oracle.truffle.js.runtime.objects.Completion.isReturn:()Z
            ifne 62
        59: .line 295
            aload 6 /* resumptionValue */
            astore 5 /* received */
        60: .line 296
            iconst_1
            istore 2 /* state */
        61: .line 297
            goto 79
        62: .line 299
      StackMap locals: com.oracle.truffle.js.runtime.objects.Completion
      StackMap stack:
            getstatic com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.$assertionsDisabled:Z
            ifne 63
            aload 6 /* resumptionValue */
            invokevirtual com.oracle.truffle.js.runtime.objects.Completion.isReturn:()Z
            ifne 63
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        63: .line 300
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* frame */
            aload 6 /* resumptionValue */
            invokevirtual com.oracle.truffle.js.runtime.objects.Completion.getValue:()Ljava/lang/Object;
            bipush 6
            invokevirtual com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.awaitWithNext:(Lcom/oracle/truffle/api/frame/VirtualFrame;Ljava/lang/Object;I)V
        64: .line 301
            goto 79
        end local 6 // com.oracle.truffle.js.runtime.objects.Completion resumptionValue
        65: .line 305
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* frame */
            invokevirtual com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.resumeYield:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Lcom/oracle/truffle/js/runtime/objects/Completion;
            astore 6 /* returnValue */
        start local 6 // com.oracle.truffle.js.runtime.objects.Completion returnValue
        66: .line 306
            aload 6 /* returnValue */
            invokevirtual com.oracle.truffle.js.runtime.objects.Completion.isNormal:()Z
            ifeq 69
        67: .line 307
            aload 6 /* returnValue */
            invokevirtual com.oracle.truffle.js.runtime.objects.Completion.getValue:()Ljava/lang/Object;
            invokestatic com.oracle.truffle.js.runtime.objects.Completion.forReturn:(Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/objects/Completion;
            astore 5 /* received */
        68: .line 308
            goto 71
        69: .line 309
      StackMap locals: com.oracle.truffle.js.runtime.objects.Completion
      StackMap stack:
            getstatic com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.$assertionsDisabled:Z
            ifne 70
            aload 6 /* returnValue */
            invokevirtual com.oracle.truffle.js.runtime.objects.Completion.isThrow:()Z
            ifne 70
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        70: .line 310
      StackMap locals:
      StackMap stack:
            aload 6 /* returnValue */
            astore 5 /* received */
        71: .line 312
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 2 /* state */
        72: .line 313
            goto 79
        end local 6 // com.oracle.truffle.js.runtime.objects.Completion returnValue
        73: .line 318
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* frame */
            invokevirtual com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.resumeAwait:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
            astore 6 /* awaited */
        start local 6 // java.lang.Object awaited
        74: .line 319
            aload 0 /* this */
            aload 1 /* frame */
            invokevirtual com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.reset:(Lcom/oracle/truffle/api/frame/VirtualFrame;)V
        75: .line 320
            aload 0 /* this */
            aload 1 /* frame */
            aload 6 /* awaited */
            invokevirtual com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.returnValue:(Lcom/oracle/truffle/api/frame/VirtualFrame;Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 6 // java.lang.Object awaited
        76: .line 325
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* frame */
            invokevirtual com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.resumeAwait:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
            pop
        77: .line 326
            aload 0 /* this */
            invokestatic com.oracle.truffle.js.runtime.Errors.createTypeErrorYieldStarThrowMethodMissing:(Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/js/runtime/JSException;
            athrow
        78: .line 329
      StackMap locals:
      StackMap stack:
            invokestatic com.oracle.truffle.js.runtime.Errors.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        79: .line 332
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.$assertionsDisabled:Z
            ifne 9
            iload 2 /* state */
            iconst_1
            if_icmpeq 9
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        end local 5 // com.oracle.truffle.js.runtime.objects.Completion received
        end local 4 // com.oracle.truffle.api.object.DynamicObject iterator
        end local 3 // com.oracle.truffle.js.runtime.objects.IteratorRecord iteratorRecord
        end local 2 // int state
        end local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
        end local 0 // com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   80     0               this  Lcom/oracle/truffle/js/nodes/control/AsyncGeneratorYieldStarNode;
            0   80     1              frame  Lcom/oracle/truffle/api/frame/VirtualFrame;
            1   80     2              state  I
            3    6     3     iteratorRecord  Lcom/oracle/truffle/js/runtime/objects/IteratorRecord;
            7   80     3     iteratorRecord  Lcom/oracle/truffle/js/runtime/objects/IteratorRecord;
            8   80     4           iterator  Lcom/oracle/truffle/api/object/DynamicObject;
            9   80     5           received  Lcom/oracle/truffle/js/runtime/objects/Completion;
           12   13     6        innerResult  Lcom/oracle/truffle/api/object/DynamicObject;
           16   28     6        throwMethod  Ljava/lang/Object;
           18   19     7        innerResult  Ljava/lang/Object;
           21   28     7       returnMethod  Ljava/lang/Object;
           23   24     8       returnResult  Ljava/lang/Object;
           26   27     8       returnResult  Ljava/lang/Object;
           30   35     6       returnMethod  Ljava/lang/Object;
           32   33     7  innerReturnResult  Ljava/lang/Object;
           37   45     6            awaited  Ljava/lang/Object;
           38   45     7        innerResult  Lcom/oracle/truffle/api/object/DynamicObject;
           39   45     8               done  Z
           43   45     9      iteratorValue  Ljava/lang/Object;
           46   54     6            awaited  Ljava/lang/Object;
           47   54     7  innerReturnResult  Lcom/oracle/truffle/api/object/DynamicObject;
           48   54     8               done  Z
           52   54     9      iteratorValue  Ljava/lang/Object;
           55   57     6            awaited  Ljava/lang/Object;
           58   65     6    resumptionValue  Lcom/oracle/truffle/js/runtime/objects/Completion;
           66   73     6        returnValue  Lcom/oracle/truffle/js/runtime/objects/Completion;
           74   76     6            awaited  Ljava/lang/Object;
      Exception table:
        from    to  target  type
          22    23      24  Class com.oracle.truffle.js.runtime.GraalJSException
    MethodParameters:
       Name  Flags
      frame  

  private void awaitWithNext(com.oracle.truffle.api.frame.VirtualFrame, java.lang.Object, int);
    descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;Ljava/lang/Object;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode this
        start local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
        start local 2 // java.lang.Object value
        start local 3 // int nextState
         0: .line 337
            aload 0 /* this */
            aload 1 /* frame */
            iload 3 /* nextState */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.setState:(Lcom/oracle/truffle/api/frame/VirtualFrame;Ljava/lang/Object;)V
         1: .line 338
            aload 0 /* this */
            aload 1 /* frame */
            aload 2 /* value */
            invokevirtual com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.suspendAwait:(Lcom/oracle/truffle/api/frame/VirtualFrame;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 339
            return
        end local 3 // int nextState
        end local 2 // java.lang.Object value
        end local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
        end local 0 // com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lcom/oracle/truffle/js/nodes/control/AsyncGeneratorYieldStarNode;
            0    3     1      frame  Lcom/oracle/truffle/api/frame/VirtualFrame;
            0    3     2      value  Ljava/lang/Object;
            0    3     3  nextState  I
    MethodParameters:
           Name  Flags
      frame      
      value      
      nextState  

  private java.lang.Object yieldWithNext(com.oracle.truffle.api.frame.VirtualFrame, java.lang.Object, int);
    descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;Ljava/lang/Object;I)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode this
        start local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
        start local 2 // java.lang.Object value
        start local 3 // int nextState
         0: .line 342
            aload 0 /* this */
            aload 1 /* frame */
            iload 3 /* nextState */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.setState:(Lcom/oracle/truffle/api/frame/VirtualFrame;Ljava/lang/Object;)V
         1: .line 343
            aload 0 /* this */
            aload 1 /* frame */
            aload 2 /* value */
            invokevirtual com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.suspendYield:(Lcom/oracle/truffle/api/frame/VirtualFrame;Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 3 // int nextState
        end local 2 // java.lang.Object value
        end local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
        end local 0 // com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lcom/oracle/truffle/js/nodes/control/AsyncGeneratorYieldStarNode;
            0    2     1      frame  Lcom/oracle/truffle/api/frame/VirtualFrame;
            0    2     2      value  Ljava/lang/Object;
            0    2     3  nextState  I
    MethodParameters:
           Name  Flags
      frame      
      value      
      nextState  

  private void reset(com.oracle.truffle.api.frame.VirtualFrame);
    descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode this
        start local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
         0: .line 347
            aload 0 /* this */
            aload 1 /* frame */
            iconst_0
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.setState:(Lcom/oracle/truffle/api/frame/VirtualFrame;Ljava/lang/Object;)V
         1: .line 348
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.writeIteratorTemp:Lcom/oracle/truffle/js/nodes/access/WriteNode;
            aload 1 /* frame */
            getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            invokeinterface com.oracle.truffle.js.nodes.access.WriteNode.executeWrite:(Lcom/oracle/truffle/api/frame/VirtualFrame;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 349
            return
        end local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
        end local 0 // com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lcom/oracle/truffle/js/nodes/control/AsyncGeneratorYieldStarNode;
            0    3     1  frame  Lcom/oracle/truffle/api/frame/VirtualFrame;
    MethodParameters:
       Name  Flags
      frame  

  private java.lang.Object callThrowMethod(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: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode this
        start local 1 // java.lang.Object throwMethod
        start local 2 // com.oracle.truffle.api.object.DynamicObject iterator
        start local 3 // java.lang.Object received
         0: .line 352
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.callThrowNode:Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;
            aload 2 /* iterator */
            aload 1 /* throwMethod */
            aload 3 /* received */
            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;
            areturn
        end local 3 // java.lang.Object received
        end local 2 // com.oracle.truffle.api.object.DynamicObject iterator
        end local 1 // java.lang.Object throwMethod
        end local 0 // com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lcom/oracle/truffle/js/nodes/control/AsyncGeneratorYieldStarNode;
            0    1     1  throwMethod  Ljava/lang/Object;
            0    1     2     iterator  Lcom/oracle/truffle/api/object/DynamicObject;
            0    1     3     received  Ljava/lang/Object;
    MethodParameters:
             Name  Flags
      throwMethod  
      iterator     
      received     

  private java.lang.Object callReturnMethod(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: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode this
        start local 1 // java.lang.Object returnMethod
        start local 2 // com.oracle.truffle.api.object.DynamicObject iterator
        start local 3 // java.lang.Object received
         0: .line 356
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.callReturnNode:Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;
            aload 2 /* iterator */
            aload 1 /* returnMethod */
            aload 3 /* received */
            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;
            areturn
        end local 3 // java.lang.Object received
        end local 2 // com.oracle.truffle.api.object.DynamicObject iterator
        end local 1 // java.lang.Object returnMethod
        end local 0 // com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lcom/oracle/truffle/js/nodes/control/AsyncGeneratorYieldStarNode;
            0    1     1  returnMethod  Ljava/lang/Object;
            0    1     2      iterator  Lcom/oracle/truffle/api/object/DynamicObject;
            0    1     3      received  Ljava/lang/Object;
    MethodParameters:
              Name  Flags
      returnMethod  
      iterator      
      received      

  private com.oracle.truffle.api.object.DynamicObject checkcastIterResult(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode this
        start local 1 // java.lang.Object iterResult
         0: .line 360
            aload 1 /* iterResult */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isObject:(Ljava/lang/Object;)Z
            ifne 2
         1: .line 361
            aload 1 /* iterResult */
            aload 0 /* this */
            invokestatic com.oracle.truffle.js.runtime.Errors.createTypeErrorIterResultNotAnObject:(Ljava/lang/Object;Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/js/runtime/JSException;
            athrow
         2: .line 363
      StackMap locals:
      StackMap stack:
            aload 1 /* iterResult */
            checkcast com.oracle.truffle.api.object.DynamicObject
            areturn
        end local 1 // java.lang.Object iterResult
        end local 0 // com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lcom/oracle/truffle/js/nodes/control/AsyncGeneratorYieldStarNode;
            0    3     1  iterResult  Ljava/lang/Object;
    MethodParameters:
            Name  Flags
      iterResult  

  protected com.oracle.truffle.js.nodes.JavaScriptNode copyUninitialized(java.util.Set<java.lang.Class<? extends com.oracle.truffle.api.instrumentation.Tag>>);
    descriptor: (Ljava/util/Set;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=8, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode this
        start local 1 // java.util.Set materializedTags
         0: .line 368
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.context:Lcom/oracle/truffle/js/runtime/JSContext;
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.expression:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            aload 1 /* materializedTags */
            invokestatic com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.cloneUninitialized:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/util/Set;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.readAsyncContextNode:Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;
            aload 1 /* materializedTags */
            invokestatic com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.cloneUninitialized:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/util/Set;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            checkcast com.oracle.truffle.js.nodes.access.JSReadFrameSlotNode
         1: .line 369
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.readAsyncResultNode:Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;
            aload 1 /* materializedTags */
            invokestatic com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.cloneUninitialized:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/util/Set;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            checkcast com.oracle.truffle.js.nodes.access.JSReadFrameSlotNode
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.returnNode:Lcom/oracle/truffle/js/nodes/control/ReturnNode;
            aload 1 /* materializedTags */
            invokestatic com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.cloneUninitialized:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/util/Set;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            checkcast com.oracle.truffle.js.nodes.control.ReturnNode
         2: .line 370
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.readIteratorTemp:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            aload 1 /* materializedTags */
            invokestatic com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.cloneUninitialized:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/util/Set;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.writeIteratorTemp:Lcom/oracle/truffle/js/nodes/access/WriteNode;
            checkcast com.oracle.truffle.js.nodes.JavaScriptNode
            aload 1 /* materializedTags */
            invokestatic com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.cloneUninitialized:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/util/Set;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            checkcast com.oracle.truffle.js.nodes.access.WriteNode
         3: .line 368
            invokestatic com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.createYieldStar:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;Lcom/oracle/truffle/js/nodes/control/ReturnNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/access/WriteNode;)Lcom/oracle/truffle/js/nodes/control/AsyncGeneratorYieldNode;
            areturn
        end local 1 // java.util.Set materializedTags
        end local 0 // com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    4     0              this  Lcom/oracle/truffle/js/nodes/control/AsyncGeneratorYieldStarNode;
            0    4     1  materializedTags  Ljava/util/Set<Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;>;
    Signature: (Ljava/util/Set<Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;>;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
                  Name  Flags
      materializedTags  
}
SourceFile: "AsyncGeneratorYieldNode.java"
InnerClasses:
  public abstract Child = com.oracle.truffle.api.nodes.Node$Child of com.oracle.truffle.api.nodes.Node