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: 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 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: aload 0
aload 1
aload 2
aload 3
aload 4
aload 5
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: aload 0
aload 6
putfield com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.readIteratorTemp:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
2: aload 0
aload 7
putfield com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.writeIteratorTemp:Lcom/oracle/truffle/js/nodes/access/WriteNode;
3: aload 0
aload 1
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: aload 0
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: aload 0
aload 1
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: aload 0
aload 1
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: aload 0
aload 1
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: aload 0
aload 1
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: aload 0
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: aload 0
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: return
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 0: aload 0
aload 1
invokevirtual com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.getStateAsInt:(Lcom/oracle/truffle/api/frame/VirtualFrame;)I
istore 2
start local 2 1: iload 2
ifne 6
2: aload 0
getfield com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.getIteratorNode:Lcom/oracle/truffle/js/nodes/access/GetIteratorNode;
aload 0
getfield com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.expression:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
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
start local 3 3: aload 0
getfield com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.writeIteratorTemp:Lcom/oracle/truffle/js/nodes/access/WriteNode;
aload 1
aload 3
invokeinterface com.oracle.truffle.js.nodes.access.WriteNode.executeWrite:(Lcom/oracle/truffle/api/frame/VirtualFrame;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: iconst_1
istore 2
5: goto 7
end local 3 6: StackMap locals: int
StackMap stack:
aload 0
getfield com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.readIteratorTemp:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
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
start local 3 7: StackMap locals: com.oracle.truffle.js.runtime.objects.IteratorRecord
StackMap stack:
aload 3
invokevirtual com.oracle.truffle.js.runtime.objects.IteratorRecord.getIterator:()Lcom/oracle/truffle/api/object/DynamicObject;
astore 4
start local 4 8: 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
start local 5 9: StackMap locals: com.oracle.truffle.api.object.DynamicObject com.oracle.truffle.js.runtime.objects.Completion
StackMap stack:
iload 2
tableswitch { // 1 - 8
1: 10
2: 36
3: 45
4: 54
5: 57
6: 65
7: 73
8: 76
default: 78
}
10: StackMap locals:
StackMap stack:
aload 5
invokevirtual com.oracle.truffle.js.runtime.objects.Completion.isNormal:()Z
ifeq 14
11: aload 0
getfield com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.iteratorNextNode:Lcom/oracle/truffle/js/nodes/access/IteratorNextNode;
aload 3
aload 5
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
start local 6 12: aload 0
aload 1
aload 6
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 13: goto 79
StackMap locals:
StackMap stack:
14: aload 5
invokevirtual com.oracle.truffle.js.runtime.objects.Completion.isThrow:()Z
ifeq 28
15: aload 0
getfield com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.getThrowMethodNode:Lcom/oracle/truffle/js/nodes/access/GetMethodNode;
aload 4
invokevirtual com.oracle.truffle.js.nodes.access.GetMethodNode.executeWithTarget:(Ljava/lang/Object;)Ljava/lang/Object;
astore 6
start local 6 16: aload 6
getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
if_acmpeq 20
17: aload 0
aload 6
aload 4
aload 5
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
start local 7 18: aload 0
aload 1
aload 7
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 19: goto 79
20: StackMap locals: java.lang.Object
StackMap stack:
aload 0
getfield com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.getReturnMethodNode:Lcom/oracle/truffle/js/nodes/access/GetMethodNode;
aload 4
invokevirtual com.oracle.truffle.js.nodes.access.GetMethodNode.executeWithTarget:(Ljava/lang/Object;)Ljava/lang/Object;
astore 7
start local 7 21: aload 7
getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
if_acmpeq 27
22: aload 0
getfield com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.callReturnNode:Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;
aload 4
aload 7
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
start local 8 23: goto 26
end local 8 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: goto 27
start local 8 26: StackMap locals: java.lang.Object
StackMap stack:
aload 0
aload 1
aload 8
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 27: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.Errors.createTypeErrorYieldStarThrowMethodMissing:(Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/js/runtime/JSException;
athrow
end local 7 end local 6 28: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.$assertionsDisabled:Z
ifne 29
aload 5
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: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.getReturnMethodNode:Lcom/oracle/truffle/js/nodes/access/GetMethodNode;
aload 4
invokevirtual com.oracle.truffle.js.nodes.access.GetMethodNode.executeWithTarget:(Ljava/lang/Object;)Ljava/lang/Object;
astore 6
start local 6 30: aload 6
getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
if_acmpeq 34
31: aload 0
aload 6
aload 4
aload 5
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
start local 7 32: aload 0
aload 1
aload 7
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 33: goto 79
34: StackMap locals: java.lang.Object
StackMap stack:
aload 0
aload 1
aload 5
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 35: goto 79
36: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.resumeAwait:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
astore 6
start local 6 37: aload 0
aload 6
invokevirtual com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.checkcastIterResult:(Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObject;
astore 7
start local 7 38: aload 0
getfield com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.iteratorCompleteNode:Lcom/oracle/truffle/js/nodes/access/IteratorCompleteNode;
aload 7
invokevirtual com.oracle.truffle.js.nodes.access.IteratorCompleteNode.execute:(Lcom/oracle/truffle/api/object/DynamicObject;)Z
istore 8
start local 8 39: iload 8
ifeq 42
40: aload 0
aload 1
invokevirtual com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.reset:(Lcom/oracle/truffle/api/frame/VirtualFrame;)V
41: aload 0
getfield com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.iteratorValueNode:Lcom/oracle/truffle/js/nodes/access/IteratorValueNode;
aload 7
invokevirtual com.oracle.truffle.js.nodes.access.IteratorValueNode.execute:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/Object;
areturn
42: StackMap locals: java.lang.Object com.oracle.truffle.api.object.DynamicObject int
StackMap stack:
aload 0
getfield com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.iteratorValueNode:Lcom/oracle/truffle/js/nodes/access/IteratorValueNode;
aload 7
invokevirtual com.oracle.truffle.js.nodes.access.IteratorValueNode.execute:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/Object;
astore 9
start local 9 43: aload 0
aload 1
aload 9
iconst_4
invokevirtual com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.awaitWithNext:(Lcom/oracle/truffle/api/frame/VirtualFrame;Ljava/lang/Object;I)V
44: goto 79
end local 9 end local 8 end local 7 end local 6 45: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.resumeAwait:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
astore 6
start local 6 46: aload 0
aload 6
invokevirtual com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.checkcastIterResult:(Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObject;
astore 7
start local 7 47: aload 0
getfield com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.iteratorCompleteNode:Lcom/oracle/truffle/js/nodes/access/IteratorCompleteNode;
aload 7
invokevirtual com.oracle.truffle.js.nodes.access.IteratorCompleteNode.execute:(Lcom/oracle/truffle/api/object/DynamicObject;)Z
istore 8
start local 8 48: iload 8
ifeq 51
49: aload 0
aload 1
invokevirtual com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.reset:(Lcom/oracle/truffle/api/frame/VirtualFrame;)V
50: aload 0
aload 1
aload 0
getfield com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.iteratorValueNode:Lcom/oracle/truffle/js/nodes/access/IteratorValueNode;
aload 7
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: StackMap locals: java.lang.Object com.oracle.truffle.api.object.DynamicObject int
StackMap stack:
aload 0
getfield com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.iteratorValueNode:Lcom/oracle/truffle/js/nodes/access/IteratorValueNode;
aload 7
invokevirtual com.oracle.truffle.js.nodes.access.IteratorValueNode.execute:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/Object;
astore 9
start local 9 52: aload 0
aload 1
aload 9
iconst_4
invokevirtual com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.awaitWithNext:(Lcom/oracle/truffle/api/frame/VirtualFrame;Ljava/lang/Object;I)V
53: goto 79
end local 9 end local 8 end local 7 end local 6 54: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.resumeAwait:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
astore 6
start local 6 55: aload 0
aload 1
aload 6
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: goto 79
end local 6 57: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.resumeYield:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Lcom/oracle/truffle/js/runtime/objects/Completion;
astore 6
start local 6 58: aload 6
invokevirtual com.oracle.truffle.js.runtime.objects.Completion.isReturn:()Z
ifne 62
59: aload 6
astore 5
60: iconst_1
istore 2
61: goto 79
62: 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
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: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 6
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: goto 79
end local 6 65: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.resumeYield:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Lcom/oracle/truffle/js/runtime/objects/Completion;
astore 6
start local 6 66: aload 6
invokevirtual com.oracle.truffle.js.runtime.objects.Completion.isNormal:()Z
ifeq 69
67: aload 6
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
68: goto 71
69: 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
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: StackMap locals:
StackMap stack:
aload 6
astore 5
71: StackMap locals:
StackMap stack:
iconst_1
istore 2
72: goto 79
end local 6 73: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.resumeAwait:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
astore 6
start local 6 74: aload 0
aload 1
invokevirtual com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.reset:(Lcom/oracle/truffle/api/frame/VirtualFrame;)V
75: aload 0
aload 1
aload 6
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 76: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.resumeAwait:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
pop
77: aload 0
invokestatic com.oracle.truffle.js.runtime.Errors.createTypeErrorYieldStarThrowMethodMissing:(Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/js/runtime/JSException;
athrow
78: StackMap locals:
StackMap stack:
invokestatic com.oracle.truffle.js.runtime.Errors.shouldNotReachHere:()Ljava/lang/RuntimeException;
athrow
79: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.$assertionsDisabled:Z
ifne 9
iload 2
iconst_1
if_icmpeq 9
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 start local 3 0: aload 0
aload 1
iload 3
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: aload 0
aload 1
aload 2
invokevirtual com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.suspendAwait:(Lcom/oracle/truffle/api/frame/VirtualFrame;Ljava/lang/Object;)Ljava/lang/Object;
pop
2: return
end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 start local 3 0: aload 0
aload 1
iload 3
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: aload 0
aload 1
aload 2
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 end local 2 end local 1 end local 0 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 start local 1 0: aload 0
aload 1
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: aload 0
getfield com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.writeIteratorTemp:Lcom/oracle/truffle/js/nodes/access/WriteNode;
aload 1
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: return
end local 1 end local 0 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 start local 1 start local 2 start local 3 0: aload 0
getfield com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.callThrowNode:Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;
aload 2
aload 1
aload 3
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 end local 2 end local 1 end local 0 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 start local 1 start local 2 start local 3 0: aload 0
getfield com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.callReturnNode:Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;
aload 2
aload 1
aload 3
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 end local 2 end local 1 end local 0 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 start local 1 0: aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isObject:(Ljava/lang/Object;)Z
ifne 2
1: aload 1
aload 0
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: StackMap locals:
StackMap stack:
aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
areturn
end local 1 end local 0 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 start local 1 0: aload 0
getfield com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.context:Lcom/oracle/truffle/js/runtime/JSContext;
aload 0
getfield com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.expression:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
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
getfield com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.readAsyncContextNode:Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;
aload 1
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: aload 0
getfield com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.readAsyncResultNode:Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;
aload 1
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
getfield com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.returnNode:Lcom/oracle/truffle/js/nodes/control/ReturnNode;
aload 1
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: aload 0
getfield com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldStarNode.readIteratorTemp:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
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
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
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: 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 end local 0 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