class com.oracle.truffle.js.nodes.promise.NewPromiseCapabilityNode$1GetCapabilitiesExecutorNode 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.NewPromiseCapabilityNode$1GetCapabilitiesExecutorNode
super_class: com.oracle.truffle.js.runtime.JavaScriptRootNode
{
private com.oracle.truffle.js.nodes.JavaScriptNode resolveNode;
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.JavaScriptNode rejectNode;
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.PropertyGetNode getPromiseCapability;
descriptor: Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.Node$Child()
private final com.oracle.truffle.api.profiles.BranchProfile errorBranch;
descriptor: Lcom/oracle/truffle/api/profiles/BranchProfile;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
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.NewPromiseCapabilityNode$1GetCapabilitiesExecutorNode this
0: .line 140
aload 0 /* this */
invokespecial com.oracle.truffle.js.runtime.JavaScriptRootNode.<init>:()V
1: .line 141
aload 0 /* this */
iconst_0
invokestatic com.oracle.truffle.js.nodes.arguments.AccessIndexedArgumentNode.create:(I)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
putfield com.oracle.truffle.js.nodes.promise.NewPromiseCapabilityNode$1GetCapabilitiesExecutorNode.resolveNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
2: .line 142
aload 0 /* this */
iconst_1
invokestatic com.oracle.truffle.js.nodes.arguments.AccessIndexedArgumentNode.create:(I)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
putfield com.oracle.truffle.js.nodes.promise.NewPromiseCapabilityNode$1GetCapabilitiesExecutorNode.rejectNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
3: .line 143
aload 0 /* this */
getstatic com.oracle.truffle.js.nodes.promise.NewPromiseCapabilityNode.PROMISE_CAPABILITY_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.NewPromiseCapabilityNode$1GetCapabilitiesExecutorNode.getPromiseCapability:Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
4: .line 144
aload 0 /* this */
invokestatic com.oracle.truffle.api.profiles.BranchProfile.create:()Lcom/oracle/truffle/api/profiles/BranchProfile;
putfield com.oracle.truffle.js.nodes.promise.NewPromiseCapabilityNode$1GetCapabilitiesExecutorNode.errorBranch:Lcom/oracle/truffle/api/profiles/BranchProfile;
5: .line 140
return
end local 0 // com.oracle.truffle.js.nodes.promise.NewPromiseCapabilityNode$1GetCapabilitiesExecutorNode this
LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/js/nodes/promise/NewPromiseCapabilityNode$1GetCapabilitiesExecutorNode;
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=2, locals=6, args_size=2
start local 0 // com.oracle.truffle.js.nodes.promise.NewPromiseCapabilityNode$1GetCapabilitiesExecutorNode this
start local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
0: .line 148
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 149
aload 0 /* this */
getfield com.oracle.truffle.js.nodes.promise.NewPromiseCapabilityNode$1GetCapabilitiesExecutorNode.getPromiseCapability: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.js.runtime.objects.PromiseCapabilityRecord
astore 3 /* capability */
start local 3 // com.oracle.truffle.js.runtime.objects.PromiseCapabilityRecord capability
2: .line 150
aload 3 /* capability */
invokevirtual com.oracle.truffle.js.runtime.objects.PromiseCapabilityRecord.getResolve:()Ljava/lang/Object;
getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
if_acmpne 3
aload 3 /* capability */
invokevirtual com.oracle.truffle.js.runtime.objects.PromiseCapabilityRecord.getReject:()Ljava/lang/Object;
getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
if_acmpeq 5
3: .line 151
StackMap locals: com.oracle.truffle.api.object.DynamicObject com.oracle.truffle.js.runtime.objects.PromiseCapabilityRecord
StackMap stack:
aload 0 /* this */
getfield com.oracle.truffle.js.nodes.promise.NewPromiseCapabilityNode$1GetCapabilitiesExecutorNode.errorBranch:Lcom/oracle/truffle/api/profiles/BranchProfile;
invokevirtual com.oracle.truffle.api.profiles.BranchProfile.enter:()V
4: .line 152
ldc "error while creating capability!"
invokestatic com.oracle.truffle.js.runtime.Errors.createTypeError:(Ljava/lang/String;)Lcom/oracle/truffle/js/runtime/JSException;
athrow
5: .line 154
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield com.oracle.truffle.js.nodes.promise.NewPromiseCapabilityNode$1GetCapabilitiesExecutorNode.resolveNode: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;
astore 4 /* resolve */
start local 4 // java.lang.Object resolve
6: .line 155
aload 0 /* this */
getfield com.oracle.truffle.js.nodes.promise.NewPromiseCapabilityNode$1GetCapabilitiesExecutorNode.rejectNode: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;
astore 5 /* reject */
start local 5 // java.lang.Object reject
7: .line 156
aload 3 /* capability */
aload 4 /* resolve */
invokevirtual com.oracle.truffle.js.runtime.objects.PromiseCapabilityRecord.setResolve:(Ljava/lang/Object;)V
8: .line 157
aload 3 /* capability */
aload 5 /* reject */
invokevirtual com.oracle.truffle.js.runtime.objects.PromiseCapabilityRecord.setReject:(Ljava/lang/Object;)V
9: .line 158
getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
areturn
end local 5 // java.lang.Object reject
end local 4 // java.lang.Object resolve
end local 3 // com.oracle.truffle.js.runtime.objects.PromiseCapabilityRecord capability
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.NewPromiseCapabilityNode$1GetCapabilitiesExecutorNode this
LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/oracle/truffle/js/nodes/promise/NewPromiseCapabilityNode$1GetCapabilitiesExecutorNode;
0 10 1 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
1 10 2 functionObject Lcom/oracle/truffle/api/object/DynamicObject;
2 10 3 capability Lcom/oracle/truffle/js/runtime/objects/PromiseCapabilityRecord;
6 10 4 resolve Ljava/lang/Object;
7 10 5 reject Ljava/lang/Object;
MethodParameters:
Name Flags
frame
}
SourceFile: "NewPromiseCapabilityNode.java"
EnclosingMethod: com.oracle.truffle.js.nodes.promise.NewPromiseCapabilityNode.createGetCapabilitiesExecutorImpl:(Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
NestHost: com.oracle.truffle.js.nodes.promise.NewPromiseCapabilityNode
InnerClasses:
public abstract Child = com.oracle.truffle.api.nodes.Node$Child of com.oracle.truffle.api.nodes.Node
GetCapabilitiesExecutorNode = com.oracle.truffle.js.nodes.promise.NewPromiseCapabilityNode$1GetCapabilitiesExecutorNode