class com.oracle.truffle.js.nodes.promise.CreateResolvingFunctionNode$1PromiseResolveThenableJob extends com.oracle.truffle.js.runtime.JavaScriptRootNode
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.oracle.truffle.js.nodes.promise.CreateResolvingFunctionNode$1PromiseResolveThenableJob
super_class: com.oracle.truffle.js.runtime.JavaScriptRootNode
{
private com.oracle.truffle.js.nodes.access.PropertyGetNode getPromiseToResolveNode;
descriptor: Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.Node$Child()
private com.oracle.truffle.js.nodes.access.PropertyGetNode getThenableNode;
descriptor: Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.Node$Child()
private com.oracle.truffle.js.nodes.access.PropertyGetNode getThenNode;
descriptor: Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.Node$Child()
private com.oracle.truffle.js.nodes.promise.PromiseResolveThenableNode promiseResolveThenable;
descriptor: Lcom/oracle/truffle/js/nodes/promise/PromiseResolveThenableNode;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.Node$Child()
void <init>(com.oracle.truffle.js.runtime.JSContext);
descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 // com.oracle.truffle.js.nodes.promise.CreateResolvingFunctionNode$1PromiseResolveThenableJob this
0: .line 236
aload 0 /* this */
invokespecial com.oracle.truffle.js.runtime.JavaScriptRootNode.<init>:()V
1: .line 237
aload 0 /* this */
getstatic com.oracle.truffle.js.nodes.promise.CreateResolvingFunctionNode.PROMISE_KEY:Lcom/oracle/truffle/api/object/HiddenKey;
aload 1
invokestatic com.oracle.truffle.js.nodes.access.PropertyGetNode.createGetHidden:(Lcom/oracle/truffle/api/object/HiddenKey;Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
putfield com.oracle.truffle.js.nodes.promise.CreateResolvingFunctionNode$1PromiseResolveThenableJob.getPromiseToResolveNode:Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
2: .line 238
aload 0 /* this */
getstatic com.oracle.truffle.js.nodes.promise.CreateResolvingFunctionNode.THENABLE_KEY:Lcom/oracle/truffle/api/object/HiddenKey;
aload 1
invokestatic com.oracle.truffle.js.nodes.access.PropertyGetNode.createGetHidden:(Lcom/oracle/truffle/api/object/HiddenKey;Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
putfield com.oracle.truffle.js.nodes.promise.CreateResolvingFunctionNode$1PromiseResolveThenableJob.getThenableNode:Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
3: .line 239
aload 0 /* this */
getstatic com.oracle.truffle.js.nodes.promise.CreateResolvingFunctionNode.THEN_KEY:Lcom/oracle/truffle/api/object/HiddenKey;
aload 1
invokestatic com.oracle.truffle.js.nodes.access.PropertyGetNode.createGetHidden:(Lcom/oracle/truffle/api/object/HiddenKey;Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
putfield com.oracle.truffle.js.nodes.promise.CreateResolvingFunctionNode$1PromiseResolveThenableJob.getThenNode:Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
4: .line 240
aload 0 /* this */
aload 1
invokestatic com.oracle.truffle.js.nodes.promise.PromiseResolveThenableNode.create:(Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/nodes/promise/PromiseResolveThenableNode;
putfield com.oracle.truffle.js.nodes.promise.CreateResolvingFunctionNode$1PromiseResolveThenableJob.promiseResolveThenable:Lcom/oracle/truffle/js/nodes/promise/PromiseResolveThenableNode;
5: .line 236
return
end local 0 // com.oracle.truffle.js.nodes.promise.CreateResolvingFunctionNode$1PromiseResolveThenableJob this
LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/js/nodes/promise/CreateResolvingFunctionNode$1PromiseResolveThenableJob;
MethodParameters:
Name Flags
val$context final
public java.lang.Object execute(com.oracle.truffle.api.frame.VirtualFrame);
descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=2
start local 0 // com.oracle.truffle.js.nodes.promise.CreateResolvingFunctionNode$1PromiseResolveThenableJob this
start local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
0: .line 244
aload 1 /* frame */
invokestatic com.oracle.truffle.js.runtime.JSFrameUtil.getFunctionObject:(Lcom/oracle/truffle/api/frame/Frame;)Lcom/oracle/truffle/api/object/DynamicObject;
astore 2 /* functionObject */
start local 2 // com.oracle.truffle.api.object.DynamicObject functionObject
1: .line 245
aload 0 /* this */
getfield com.oracle.truffle.js.nodes.promise.CreateResolvingFunctionNode$1PromiseResolveThenableJob.getPromiseToResolveNode:Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
aload 2 /* functionObject */
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode.getValue:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.object.DynamicObject
astore 3 /* promiseToResolve */
start local 3 // com.oracle.truffle.api.object.DynamicObject promiseToResolve
2: .line 246
aload 0 /* this */
getfield com.oracle.truffle.js.nodes.promise.CreateResolvingFunctionNode$1PromiseResolveThenableJob.getThenableNode:Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
aload 2 /* functionObject */
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode.getValue:(Ljava/lang/Object;)Ljava/lang/Object;
astore 4 /* thenable */
start local 4 // java.lang.Object thenable
3: .line 247
aload 0 /* this */
getfield com.oracle.truffle.js.nodes.promise.CreateResolvingFunctionNode$1PromiseResolveThenableJob.getThenNode:Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
aload 2 /* functionObject */
invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode.getValue:(Ljava/lang/Object;)Ljava/lang/Object;
astore 5 /* then */
start local 5 // java.lang.Object then
4: .line 248
aload 0 /* this */
getfield com.oracle.truffle.js.nodes.promise.CreateResolvingFunctionNode$1PromiseResolveThenableJob.promiseResolveThenable:Lcom/oracle/truffle/js/nodes/promise/PromiseResolveThenableNode;
aload 3 /* promiseToResolve */
aload 4 /* thenable */
aload 5 /* then */
invokevirtual com.oracle.truffle.js.nodes.promise.PromiseResolveThenableNode.execute:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 5 // java.lang.Object then
end local 4 // java.lang.Object thenable
end local 3 // com.oracle.truffle.api.object.DynamicObject promiseToResolve
end local 2 // com.oracle.truffle.api.object.DynamicObject functionObject
end local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
end local 0 // com.oracle.truffle.js.nodes.promise.CreateResolvingFunctionNode$1PromiseResolveThenableJob this
LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/js/nodes/promise/CreateResolvingFunctionNode$1PromiseResolveThenableJob;
0 5 1 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
1 5 2 functionObject Lcom/oracle/truffle/api/object/DynamicObject;
2 5 3 promiseToResolve Lcom/oracle/truffle/api/object/DynamicObject;
3 5 4 thenable Ljava/lang/Object;
4 5 5 then Ljava/lang/Object;
MethodParameters:
Name Flags
frame
}
SourceFile: "CreateResolvingFunctionNode.java"
EnclosingMethod: com.oracle.truffle.js.nodes.promise.CreateResolvingFunctionNode.createPromiseResolveThenableJobImpl:(Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
NestHost: com.oracle.truffle.js.nodes.promise.CreateResolvingFunctionNode
InnerClasses:
public abstract Child = com.oracle.truffle.api.nodes.Node$Child of com.oracle.truffle.api.nodes.Node
PromiseResolveThenableJob = com.oracle.truffle.js.nodes.promise.CreateResolvingFunctionNode$1PromiseResolveThenableJob