final class com.oracle.truffle.js.nodes.function.JSFunctionExpressionNode$LexicalThisFunctionExpressionNode extends com.oracle.truffle.js.nodes.function.JSFunctionExpressionNode
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.oracle.truffle.js.nodes.function.JSFunctionExpressionNode$LexicalThisFunctionExpressionNode
super_class: com.oracle.truffle.js.nodes.function.JSFunctionExpressionNode
{
private com.oracle.truffle.js.nodes.JavaScriptNode thisNode;
descriptor: Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.Node$Child()
protected void <init>(com.oracle.truffle.js.runtime.builtins.JSFunctionData, com.oracle.truffle.js.nodes.function.FunctionRootNode, com.oracle.truffle.js.nodes.JavaScriptNode);
descriptor: (Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;Lcom/oracle/truffle/js/nodes/function/FunctionRootNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=4, args_size=4
start local 0 // com.oracle.truffle.js.nodes.function.JSFunctionExpressionNode$LexicalThisFunctionExpressionNode this
start local 1 // com.oracle.truffle.js.runtime.builtins.JSFunctionData functionData
start local 2 // com.oracle.truffle.js.nodes.function.FunctionRootNode functionNode
start local 3 // com.oracle.truffle.js.nodes.JavaScriptNode thisNode
0: .line 181
aload 0 /* this */
aload 1 /* functionData */
aload 2 /* functionNode */
invokespecial com.oracle.truffle.js.nodes.function.JSFunctionExpressionNode.<init>:(Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;Lcom/oracle/truffle/js/nodes/function/FunctionRootNode;)V
1: .line 182
aload 0 /* this */
aload 3 /* thisNode */
putfield com.oracle.truffle.js.nodes.function.JSFunctionExpressionNode$LexicalThisFunctionExpressionNode.thisNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
2: .line 183
return
end local 3 // com.oracle.truffle.js.nodes.JavaScriptNode thisNode
end local 2 // com.oracle.truffle.js.nodes.function.FunctionRootNode functionNode
end local 1 // com.oracle.truffle.js.runtime.builtins.JSFunctionData functionData
end local 0 // com.oracle.truffle.js.nodes.function.JSFunctionExpressionNode$LexicalThisFunctionExpressionNode this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/nodes/function/JSFunctionExpressionNode$LexicalThisFunctionExpressionNode;
0 3 1 functionData Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
0 3 2 functionNode Lcom/oracle/truffle/js/nodes/function/FunctionRootNode;
0 3 3 thisNode Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
functionData
functionNode
thisNode
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=5, locals=2, args_size=2
start local 0 // com.oracle.truffle.js.nodes.function.JSFunctionExpressionNode$LexicalThisFunctionExpressionNode this
start local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
0: .line 187
aload 0 /* this */
getfield com.oracle.truffle.js.nodes.function.JSFunctionExpressionNode$LexicalThisFunctionExpressionNode.functionData:Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
invokevirtual com.oracle.truffle.js.runtime.builtins.JSFunctionData.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
invokevirtual com.oracle.truffle.js.runtime.JSContext.getRealm:()Lcom/oracle/truffle/js/runtime/JSRealm;
aload 0 /* this */
getfield com.oracle.truffle.js.nodes.function.JSFunctionExpressionNode$LexicalThisFunctionExpressionNode.functionData:Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
aload 0 /* this */
getfield com.oracle.truffle.js.nodes.function.JSFunctionExpressionNode$LexicalThisFunctionExpressionNode.functionData:Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
invokevirtual com.oracle.truffle.js.runtime.builtins.JSFunctionData.needsParentFrame:()Z
ifeq 1
aload 1 /* frame */
invokeinterface com.oracle.truffle.api.frame.VirtualFrame.materialize:()Lcom/oracle/truffle/api/frame/MaterializedFrame;
goto 2
StackMap locals: com.oracle.truffle.js.nodes.function.JSFunctionExpressionNode$LexicalThisFunctionExpressionNode com.oracle.truffle.api.frame.VirtualFrame
StackMap stack: com.oracle.truffle.js.runtime.JSRealm com.oracle.truffle.js.runtime.builtins.JSFunctionData
1: getstatic com.oracle.truffle.js.runtime.JSFrameUtil.NULL_MATERIALIZED_FRAME:Lcom/oracle/truffle/api/frame/MaterializedFrame;
2: .line 188
StackMap locals: com.oracle.truffle.js.nodes.function.JSFunctionExpressionNode$LexicalThisFunctionExpressionNode com.oracle.truffle.api.frame.VirtualFrame
StackMap stack: com.oracle.truffle.js.runtime.JSRealm com.oracle.truffle.js.runtime.builtins.JSFunctionData com.oracle.truffle.api.frame.MaterializedFrame
aload 0 /* this */
getfield com.oracle.truffle.js.nodes.function.JSFunctionExpressionNode$LexicalThisFunctionExpressionNode.thisNode: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;
3: .line 187
invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.createLexicalThis:(Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;Lcom/oracle/truffle/api/frame/MaterializedFrame;Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObject;
areturn
end local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
end local 0 // com.oracle.truffle.js.nodes.function.JSFunctionExpressionNode$LexicalThisFunctionExpressionNode this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/js/nodes/function/JSFunctionExpressionNode$LexicalThisFunctionExpressionNode;
0 4 1 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
MethodParameters:
Name Flags
frame
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=6, locals=2, args_size=2
start local 0 // com.oracle.truffle.js.nodes.function.JSFunctionExpressionNode$LexicalThisFunctionExpressionNode this
start local 1 // java.util.Set materializedTags
0: .line 193
new com.oracle.truffle.js.nodes.function.JSFunctionExpressionNode$LexicalThisFunctionExpressionNode
dup
aload 0 /* this */
getfield com.oracle.truffle.js.nodes.function.JSFunctionExpressionNode$LexicalThisFunctionExpressionNode.functionData:Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
aload 0 /* this */
getfield com.oracle.truffle.js.nodes.function.JSFunctionExpressionNode$LexicalThisFunctionExpressionNode.functionNode:Lcom/oracle/truffle/js/nodes/function/FunctionRootNode;
aload 0 /* this */
getfield com.oracle.truffle.js.nodes.function.JSFunctionExpressionNode$LexicalThisFunctionExpressionNode.thisNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1 /* materializedTags */
invokestatic com.oracle.truffle.js.nodes.function.JSFunctionExpressionNode$LexicalThisFunctionExpressionNode.cloneUninitialized:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/util/Set;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokespecial com.oracle.truffle.js.nodes.function.JSFunctionExpressionNode$LexicalThisFunctionExpressionNode.<init>:(Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;Lcom/oracle/truffle/js/nodes/function/FunctionRootNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)V
areturn
end local 1 // java.util.Set materializedTags
end local 0 // com.oracle.truffle.js.nodes.function.JSFunctionExpressionNode$LexicalThisFunctionExpressionNode this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/nodes/function/JSFunctionExpressionNode$LexicalThisFunctionExpressionNode;
0 1 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: "JSFunctionExpressionNode.java"
NestHost: com.oracle.truffle.js.nodes.function.JSFunctionExpressionNode
InnerClasses:
public abstract Child = com.oracle.truffle.api.nodes.Node$Child of com.oracle.truffle.api.nodes.Node
private final LexicalThisFunctionExpressionNode = com.oracle.truffle.js.nodes.function.JSFunctionExpressionNode$LexicalThisFunctionExpressionNode of com.oracle.truffle.js.nodes.function.JSFunctionExpressionNode