public class com.oracle.truffle.js.nodes.function.FunctionRootNode extends com.oracle.truffle.js.runtime.JavaScriptRealmBoundaryRootNode implements com.oracle.truffle.js.nodes.FrameDescriptorProvider, com.oracle.truffle.js.runtime.builtins.JSFunctionData$CallTargetInitializer
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.truffle.js.nodes.function.FunctionRootNode
super_class: com.oracle.truffle.js.runtime.JavaScriptRealmBoundaryRootNode
{
private com.oracle.truffle.js.nodes.JavaScriptNode body;
descriptor: Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.Node$Child()
private final com.oracle.truffle.js.runtime.builtins.JSFunctionData functionData;
descriptor: Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private java.lang.String internalFunctionName;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
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/function/FunctionRootNode;
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.function.FunctionRootNode.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
protected void <init>(com.oracle.truffle.js.nodes.function.AbstractBodyNode, com.oracle.truffle.api.frame.FrameDescriptor, com.oracle.truffle.js.runtime.builtins.JSFunctionData, com.oracle.truffle.api.source.SourceSection, java.lang.String);
descriptor: (Lcom/oracle/truffle/js/nodes/function/AbstractBodyNode;Lcom/oracle/truffle/api/frame/FrameDescriptor;Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;Lcom/oracle/truffle/api/source/SourceSection;Ljava/lang/String;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 3
invokevirtual com.oracle.truffle.js.runtime.builtins.JSFunctionData.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
invokevirtual com.oracle.truffle.js.runtime.JSContext.getLanguage:()Lcom/oracle/truffle/js/lang/JavaScriptLanguage;
aload 4
aload 2
invokespecial com.oracle.truffle.js.runtime.JavaScriptRealmBoundaryRootNode.<init>:(Lcom/oracle/truffle/js/lang/JavaScriptLanguage;Lcom/oracle/truffle/api/source/SourceSection;Lcom/oracle/truffle/api/frame/FrameDescriptor;)V
1: aload 0
aload 1
putfield com.oracle.truffle.js.nodes.function.FunctionRootNode.body:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
2: aload 0
getfield com.oracle.truffle.js.nodes.function.FunctionRootNode.body:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokevirtual com.oracle.truffle.js.nodes.JavaScriptNode.hasSourceSection:()Z
ifne 4
3: aload 0
getfield com.oracle.truffle.js.nodes.function.FunctionRootNode.body:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 4
invokevirtual com.oracle.truffle.js.nodes.JavaScriptNode.setSourceSection:(Lcom/oracle/truffle/api/source/SourceSection;)V
4: StackMap locals: com.oracle.truffle.js.nodes.function.FunctionRootNode com.oracle.truffle.js.nodes.function.AbstractBodyNode com.oracle.truffle.api.frame.FrameDescriptor com.oracle.truffle.js.runtime.builtins.JSFunctionData com.oracle.truffle.api.source.SourceSection java.lang.String
StackMap stack:
aload 0
aload 3
putfield com.oracle.truffle.js.nodes.function.FunctionRootNode.functionData:Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
5: aload 0
aload 5
putfield com.oracle.truffle.js.nodes.function.FunctionRootNode.internalFunctionName:Ljava/lang/String;
6: return
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 7 0 this Lcom/oracle/truffle/js/nodes/function/FunctionRootNode;
0 7 1 body Lcom/oracle/truffle/js/nodes/function/AbstractBodyNode;
0 7 2 frameDescriptor Lcom/oracle/truffle/api/frame/FrameDescriptor;
0 7 3 functionData Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
0 7 4 sourceSection Lcom/oracle/truffle/api/source/SourceSection;
0 7 5 internalFunctionName Ljava/lang/String;
MethodParameters:
Name Flags
body
frameDescriptor
functionData
sourceSection
internalFunctionName
public static com.oracle.truffle.js.nodes.function.FunctionRootNode create(com.oracle.truffle.js.nodes.function.AbstractBodyNode, com.oracle.truffle.api.frame.FrameDescriptor, com.oracle.truffle.js.runtime.builtins.JSFunctionData, com.oracle.truffle.api.source.SourceSection, java.lang.String);
descriptor: (Lcom/oracle/truffle/js/nodes/function/AbstractBodyNode;Lcom/oracle/truffle/api/frame/FrameDescriptor;Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;Lcom/oracle/truffle/api/source/SourceSection;Ljava/lang/String;)Lcom/oracle/truffle/js/nodes/function/FunctionRootNode;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: new com.oracle.truffle.js.nodes.function.FunctionRootNode
dup
aload 0
aload 1
aload 2
aload 3
aload 4
invokespecial com.oracle.truffle.js.nodes.function.FunctionRootNode.<init>:(Lcom/oracle/truffle/js/nodes/function/AbstractBodyNode;Lcom/oracle/truffle/api/frame/FrameDescriptor;Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;Lcom/oracle/truffle/api/source/SourceSection;Ljava/lang/String;)V
astore 5
start local 5 1: aload 2
invokevirtual com.oracle.truffle.js.runtime.builtins.JSFunctionData.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
invokevirtual com.oracle.truffle.js.runtime.JSContext.getContextOptions:()Lcom/oracle/truffle/js/runtime/JSContextOptions;
invokevirtual com.oracle.truffle.js.runtime.JSContextOptions.isTestCloneUninitialized:()Z
ifeq 4
2: getstatic com.oracle.truffle.js.nodes.function.FunctionRootNode.$assertionsDisabled:Z
ifne 3
aload 0
invokestatic com.oracle.truffle.js.nodes.JSNodeUtil.hasExactlyOneRootBodyTag:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Z
ifne 3
new java.lang.AssertionError
dup
ldc "Function does not have exactly one RootBodyTag"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
3: StackMap locals: com.oracle.truffle.js.nodes.function.FunctionRootNode
StackMap stack:
aload 5
invokevirtual com.oracle.truffle.js.nodes.function.FunctionRootNode.cloneUninitialized:()Lcom/oracle/truffle/js/runtime/JavaScriptRootNode;
checkcast com.oracle.truffle.js.nodes.function.FunctionRootNode
areturn
4: StackMap locals:
StackMap stack:
aload 5
areturn
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 5 0 body Lcom/oracle/truffle/js/nodes/function/AbstractBodyNode;
0 5 1 frameDescriptor Lcom/oracle/truffle/api/frame/FrameDescriptor;
0 5 2 functionData Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
0 5 3 sourceSection Lcom/oracle/truffle/api/source/SourceSection;
0 5 4 internalFunctionName Ljava/lang/String;
1 5 5 rootNode Lcom/oracle/truffle/js/nodes/function/FunctionRootNode;
MethodParameters:
Name Flags
body
frameDescriptor
functionData
sourceSection
internalFunctionName
public com.oracle.truffle.js.runtime.builtins.JSFunctionData getFunctionData();
descriptor: ()Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.nodes.function.FunctionRootNode.functionData:Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/nodes/function/FunctionRootNode;
public boolean isCloningAllowed();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/nodes/function/FunctionRootNode;
protected boolean isCloneUninitializedSupported();
descriptor: ()Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/nodes/function/FunctionRootNode;
protected com.oracle.truffle.js.runtime.JavaScriptRootNode cloneUninitialized();
descriptor: ()Lcom/oracle/truffle/js/runtime/JavaScriptRootNode;
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=1, args_size=1
start local 0 0: new com.oracle.truffle.js.nodes.function.FunctionRootNode
dup
aload 0
getfield com.oracle.truffle.js.nodes.function.FunctionRootNode.body:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aconst_null
invokestatic com.oracle.truffle.js.nodes.JavaScriptNode.cloneUninitialized:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/util/Set;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
checkcast com.oracle.truffle.js.nodes.function.AbstractBodyNode
aload 0
invokevirtual com.oracle.truffle.js.nodes.function.FunctionRootNode.getFrameDescriptor:()Lcom/oracle/truffle/api/frame/FrameDescriptor;
aload 0
getfield com.oracle.truffle.js.nodes.function.FunctionRootNode.functionData:Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
aload 0
invokevirtual com.oracle.truffle.js.nodes.function.FunctionRootNode.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
aload 0
getfield com.oracle.truffle.js.nodes.function.FunctionRootNode.internalFunctionName:Ljava/lang/String;
invokespecial com.oracle.truffle.js.nodes.function.FunctionRootNode.<init>:(Lcom/oracle/truffle/js/nodes/function/AbstractBodyNode;Lcom/oracle/truffle/api/frame/FrameDescriptor;Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;Lcom/oracle/truffle/api/source/SourceSection;Ljava/lang/String;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/nodes/function/FunctionRootNode;
public boolean isInlineImmediately();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.nodes.function.FunctionRootNode.functionData:Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
invokevirtual com.oracle.truffle.js.runtime.builtins.JSFunctionData.isBuiltin:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/nodes/function/FunctionRootNode;
public boolean isSplitImmediately();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
1: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.js.nodes.function.FunctionRootNode.functionData:Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
invokevirtual com.oracle.truffle.js.runtime.builtins.JSFunctionData.isBuiltin:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/nodes/function/FunctionRootNode;
public java.lang.String getName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.nodes.function.FunctionRootNode.functionData:Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
invokevirtual com.oracle.truffle.js.runtime.builtins.JSFunctionData.isBuiltin:()Z
ifne 1
aload 0
getfield com.oracle.truffle.js.nodes.function.FunctionRootNode.functionData:Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
invokevirtual com.oracle.truffle.js.runtime.builtins.JSFunctionData.getName:()Ljava/lang/String;
invokevirtual java.lang.String.isEmpty:()Z
ifeq 3
aload 0
getfield com.oracle.truffle.js.nodes.function.FunctionRootNode.internalFunctionName:Ljava/lang/String;
ifnull 3
1: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.nodes.function.FunctionRootNode.$assertionsDisabled:Z
ifne 2
aload 0
getfield com.oracle.truffle.js.nodes.function.FunctionRootNode.internalFunctionName:Ljava/lang/String;
ifnonnull 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.js.nodes.function.FunctionRootNode.internalFunctionName:Ljava/lang/String;
areturn
3: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.js.nodes.function.FunctionRootNode.functionData:Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
invokevirtual com.oracle.truffle.js.runtime.builtins.JSFunctionData.getName:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/js/nodes/function/FunctionRootNode;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.js.nodes.function.FunctionRootNode.getName:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/nodes/function/FunctionRootNode;
public com.oracle.truffle.js.nodes.JavaScriptNode getBody();
descriptor: ()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.nodes.function.FunctionRootNode.body:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/nodes/function/FunctionRootNode;
protected com.oracle.truffle.js.runtime.JSContext getContext();
descriptor: ()Lcom/oracle/truffle/js/runtime/JSContext;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.nodes.function.FunctionRootNode.functionData:Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
invokevirtual com.oracle.truffle.js.runtime.builtins.JSFunctionData.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/nodes/function/FunctionRootNode;
protected java.lang.Object executeInRealm(com.oracle.truffle.api.frame.VirtualFrame);
descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.js.nodes.function.FunctionRootNode.body: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;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/nodes/function/FunctionRootNode;
0 1 1 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
MethodParameters:
Name Flags
frame
public java.util.Map<java.lang.String, java.lang.Object> getDebugProperties();
descriptor: ()Ljava/util/Map;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
invokespecial com.oracle.truffle.js.runtime.JavaScriptRealmBoundaryRootNode.getDebugProperties:()Ljava/util/Map;
astore 1
start local 1 1: aload 1
ldc "name"
new java.lang.StringBuilder
dup
ldc "function "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual com.oracle.truffle.js.nodes.function.FunctionRootNode.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual com.oracle.truffle.js.nodes.function.FunctionRootNode.getParamCount:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "/"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual com.oracle.truffle.js.nodes.function.FunctionRootNode.getFrameDescriptor:()Lcom/oracle/truffle/api/frame/FrameDescriptor;
invokevirtual com.oracle.truffle.api.frame.FrameDescriptor.getSize:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
2: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/nodes/function/FunctionRootNode;
1 3 1 map Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
Signature: ()Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
public int getParamCount();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.nodes.function.FunctionRootNode.functionData:Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
invokevirtual com.oracle.truffle.js.runtime.builtins.JSFunctionData.getLength:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/nodes/function/FunctionRootNode;
public boolean isFunction();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/nodes/function/FunctionRootNode;
public void initializeRoot(com.oracle.truffle.js.runtime.builtins.JSFunctionData);
descriptor: (Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.truffle.js.nodes.function.FunctionRootNode.getCallTarget:()Lcom/oracle/truffle/api/RootCallTarget;
ifnull 2
1: return
2: StackMap locals:
StackMap stack:
aload 1
invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
aload 0
invokeinterface com.oracle.truffle.api.TruffleRuntime.createCallTarget:(Lcom/oracle/truffle/api/nodes/RootNode;)Lcom/oracle/truffle/api/RootCallTarget;
invokevirtual com.oracle.truffle.js.runtime.builtins.JSFunctionData.setRootTarget:(Lcom/oracle/truffle/api/CallTarget;)Lcom/oracle/truffle/api/CallTarget;
pop
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/js/nodes/function/FunctionRootNode;
0 4 1 fd Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
MethodParameters:
Name Flags
fd
public void initializeCallTarget(com.oracle.truffle.js.runtime.builtins.JSFunctionData, com.oracle.truffle.js.runtime.builtins.JSFunctionData$Target, com.oracle.truffle.api.CallTarget);
descriptor: (Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData$Target;Lcom/oracle/truffle/api/CallTarget;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
aload 2
aload 3
aload 0
invokestatic com.oracle.truffle.js.nodes.function.FunctionRootNode.initializeFunctionDataCallTarget:(Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData$Target;Lcom/oracle/truffle/api/CallTarget;Lcom/oracle/truffle/js/nodes/function/FunctionRootNode;)V
1: return
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/function/FunctionRootNode;
0 2 1 fd Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
0 2 2 target Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData$Target;
0 2 3 rootTarget Lcom/oracle/truffle/api/CallTarget;
MethodParameters:
Name Flags
fd
target
rootTarget
private static void initializeFunctionDataCallTarget(com.oracle.truffle.js.runtime.builtins.JSFunctionData, com.oracle.truffle.js.runtime.builtins.JSFunctionData$Target, com.oracle.truffle.api.CallTarget, com.oracle.truffle.js.nodes.function.FunctionRootNode);
descriptor: (Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData$Target;Lcom/oracle/truffle/api/CallTarget;Lcom/oracle/truffle/js/nodes/function/FunctionRootNode;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: invokestatic com.oracle.truffle.js.nodes.NodeFactory.getDefaultInstance:()Lcom/oracle/truffle/js/nodes/NodeFactory;
astore 4
start local 4 1: aload 1
getstatic com.oracle.truffle.js.runtime.builtins.JSFunctionData$Target.Call:Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData$Target;
if_acmpne 11
2: aload 0
invokevirtual com.oracle.truffle.js.runtime.builtins.JSFunctionData.requiresNew:()Z
ifeq 5
3: invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
aload 4
aload 0
aload 3
invokevirtual com.oracle.truffle.js.nodes.function.FunctionRootNode.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createConstructorRequiresNewRoot:(Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;Lcom/oracle/truffle/api/source/SourceSection;)Lcom/oracle/truffle/js/runtime/JavaScriptRootNode;
invokeinterface com.oracle.truffle.api.TruffleRuntime.createCallTarget:(Lcom/oracle/truffle/api/nodes/RootNode;)Lcom/oracle/truffle/api/RootCallTarget;
astore 5
start local 5 4: goto 9
end local 5 5: StackMap locals: com.oracle.truffle.js.nodes.NodeFactory
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.js.runtime.builtins.JSFunctionData.needsNewTarget:()Z
ifeq 8
6: invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
aload 4
aload 0
invokevirtual com.oracle.truffle.js.runtime.builtins.JSFunctionData.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
aload 2
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createNewTargetCall:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/CallTarget;)Lcom/oracle/truffle/js/runtime/JavaScriptRootNode;
invokeinterface com.oracle.truffle.api.TruffleRuntime.createCallTarget:(Lcom/oracle/truffle/api/nodes/RootNode;)Lcom/oracle/truffle/api/RootCallTarget;
astore 5
start local 5 7: goto 9
end local 5 8: StackMap locals:
StackMap stack:
aload 2
astore 5
start local 5 9: StackMap locals: com.oracle.truffle.api.CallTarget
StackMap stack:
aload 0
aload 5
invokevirtual com.oracle.truffle.js.runtime.builtins.JSFunctionData.setCallTarget:(Lcom/oracle/truffle/api/CallTarget;)Lcom/oracle/truffle/api/CallTarget;
pop
end local 5 10: goto 30
StackMap locals:
StackMap stack:
11: aload 1
getstatic com.oracle.truffle.js.runtime.builtins.JSFunctionData$Target.Construct:Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData$Target;
if_acmpne 23
12: aload 0
invokevirtual com.oracle.truffle.js.runtime.builtins.JSFunctionData.isGenerator:()Z
ifeq 15
13: aload 0
invokevirtual com.oracle.truffle.js.runtime.builtins.JSFunctionData.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
invokevirtual com.oracle.truffle.js.runtime.JSContext.getGeneratorNotConstructibleCallTarget:()Lcom/oracle/truffle/api/CallTarget;
astore 5
start local 5 14: goto 21
end local 5 StackMap locals:
StackMap stack:
15: aload 0
invokevirtual com.oracle.truffle.js.runtime.builtins.JSFunctionData.isAsync:()Z
ifeq 18
16: aload 0
invokevirtual com.oracle.truffle.js.runtime.builtins.JSFunctionData.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
invokevirtual com.oracle.truffle.js.runtime.JSContext.getNotConstructibleCallTarget:()Lcom/oracle/truffle/api/CallTarget;
astore 5
start local 5 17: goto 21
end local 5 18: StackMap locals:
StackMap stack:
invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
aload 4
aload 0
aload 2
iconst_0
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createConstructorRootNode:(Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;Lcom/oracle/truffle/api/CallTarget;Z)Lcom/oracle/truffle/js/nodes/function/ConstructorRootNode;
invokeinterface com.oracle.truffle.api.TruffleRuntime.createCallTarget:(Lcom/oracle/truffle/api/nodes/RootNode;)Lcom/oracle/truffle/api/RootCallTarget;
astore 5
start local 5 19: aload 0
invokevirtual com.oracle.truffle.js.runtime.builtins.JSFunctionData.needsNewTarget:()Z
ifeq 21
20: invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
aload 4
aload 0
invokevirtual com.oracle.truffle.js.runtime.builtins.JSFunctionData.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
aload 5
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createNewTargetConstruct:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/CallTarget;)Lcom/oracle/truffle/js/runtime/JavaScriptRootNode;
invokeinterface com.oracle.truffle.api.TruffleRuntime.createCallTarget:(Lcom/oracle/truffle/api/nodes/RootNode;)Lcom/oracle/truffle/api/RootCallTarget;
astore 5
21: StackMap locals: com.oracle.truffle.api.CallTarget
StackMap stack:
aload 0
aload 5
invokevirtual com.oracle.truffle.js.runtime.builtins.JSFunctionData.setConstructTarget:(Lcom/oracle/truffle/api/CallTarget;)Lcom/oracle/truffle/api/CallTarget;
pop
end local 5 22: goto 30
StackMap locals:
StackMap stack:
23: aload 1
getstatic com.oracle.truffle.js.runtime.builtins.JSFunctionData$Target.ConstructNewTarget:Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData$Target;
if_acmpne 30
24: aload 0
invokevirtual com.oracle.truffle.js.runtime.builtins.JSFunctionData.needsNewTarget:()Z
ifeq 27
25: aload 2
astore 5
start local 5 26: goto 28
end local 5 27: StackMap locals:
StackMap stack:
invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
aload 4
aload 0
invokevirtual com.oracle.truffle.js.runtime.builtins.JSFunctionData.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
aload 2
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createDropNewTarget:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/CallTarget;)Lcom/oracle/truffle/js/runtime/JavaScriptRootNode;
invokeinterface com.oracle.truffle.api.TruffleRuntime.createCallTarget:(Lcom/oracle/truffle/api/nodes/RootNode;)Lcom/oracle/truffle/api/RootCallTarget;
astore 5
start local 5 28: StackMap locals: com.oracle.truffle.api.CallTarget
StackMap stack:
invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
aload 4
aload 0
aload 5
iconst_1
invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createConstructorRootNode:(Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;Lcom/oracle/truffle/api/CallTarget;Z)Lcom/oracle/truffle/js/nodes/function/ConstructorRootNode;
invokeinterface com.oracle.truffle.api.TruffleRuntime.createCallTarget:(Lcom/oracle/truffle/api/nodes/RootNode;)Lcom/oracle/truffle/api/RootCallTarget;
astore 6
start local 6 29: aload 0
aload 6
invokevirtual com.oracle.truffle.js.runtime.builtins.JSFunctionData.setConstructNewTarget:(Lcom/oracle/truffle/api/CallTarget;)Lcom/oracle/truffle/api/CallTarget;
pop
end local 6 end local 5 30: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 functionData Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
0 31 1 target Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData$Target;
0 31 2 rootTarget Lcom/oracle/truffle/api/CallTarget;
0 31 3 functionRoot Lcom/oracle/truffle/js/nodes/function/FunctionRootNode;
1 31 4 factory Lcom/oracle/truffle/js/nodes/NodeFactory;
4 5 5 functionCallTarget Lcom/oracle/truffle/api/CallTarget;
7 8 5 functionCallTarget Lcom/oracle/truffle/api/CallTarget;
9 10 5 functionCallTarget Lcom/oracle/truffle/api/CallTarget;
14 15 5 constructCallTarget Lcom/oracle/truffle/api/CallTarget;
17 18 5 constructCallTarget Lcom/oracle/truffle/api/CallTarget;
19 22 5 constructCallTarget Lcom/oracle/truffle/api/CallTarget;
26 27 5 newTargetCallTarget Lcom/oracle/truffle/api/CallTarget;
28 30 5 newTargetCallTarget Lcom/oracle/truffle/api/CallTarget;
29 30 6 constructNewTargetCallTarget Lcom/oracle/truffle/api/CallTarget;
MethodParameters:
Name Flags
functionData
target
rootTarget
functionRoot
protected com.oracle.truffle.api.nodes.RootNode cloneUninitialized();
descriptor: ()Lcom/oracle/truffle/api/nodes/RootNode;
flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual com.oracle.truffle.js.nodes.function.FunctionRootNode.cloneUninitialized:()Lcom/oracle/truffle/js/runtime/JavaScriptRootNode;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "FunctionRootNode.java"
InnerClasses:
public abstract TruffleBoundary = com.oracle.truffle.api.CompilerDirectives$TruffleBoundary of com.oracle.truffle.api.CompilerDirectives
public abstract Child = com.oracle.truffle.api.nodes.Node$Child of com.oracle.truffle.api.nodes.Node
public abstract CallTargetInitializer = com.oracle.truffle.js.runtime.builtins.JSFunctionData$CallTargetInitializer of com.oracle.truffle.js.runtime.builtins.JSFunctionData
public final Target = com.oracle.truffle.js.runtime.builtins.JSFunctionData$Target of com.oracle.truffle.js.runtime.builtins.JSFunctionData
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.NodeInfo(cost = com.oracle.truffle.api.nodes.NodeCost.NONE:Lcom/oracle/truffle/api/nodes/NodeCost;, language = "JavaScript", description = "The root node of all functions in JavaScript.")