Class FunctionRootNode
java.lang.Object
com.oracle.truffle.api.nodes.Node
com.oracle.truffle.api.nodes.ExecutableNode
com.oracle.truffle.api.nodes.RootNode
com.oracle.truffle.js.runtime.JavaScriptRootNode
com.oracle.truffle.js.runtime.JavaScriptRealmBoundaryRootNode
com.oracle.truffle.js.nodes.function.AbstractFunctionRootNode
com.oracle.truffle.js.nodes.function.FunctionRootNode
- All Implemented Interfaces:
com.oracle.truffle.api.nodes.NodeInterface, FrameDescriptorProvider, JSFunctionData.CallTargetInitializer, JSFunctionData.Initializer, Cloneable
public final class FunctionRootNode
extends AbstractFunctionRootNode
implements FrameDescriptorProvider, JSFunctionData.CallTargetInitializer
-
Nested Class Summary
Nested classes/interfaces inherited from class com.oracle.truffle.api.nodes.Node
com.oracle.truffle.api.nodes.Node.Child, com.oracle.truffle.api.nodes.Node.Children -
Field Summary
Fields inherited from class AbstractFunctionRootNode
activeScriptOrModuleFields inherited from class JavaScriptRootNode
MODULE_DUMMY_FRAMEDESCRIPTOR -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedFunctionRootNode(AbstractBodyNode body, com.oracle.truffle.api.frame.FrameDescriptor frameDescriptor, JSFunctionData functionData, com.oracle.truffle.api.source.SourceSection sourceSection, ScriptOrModule activeScriptOrModule, com.oracle.truffle.api.strings.TruffleString internalFunctionName) -
Method Summary
Modifier and TypeMethodDescriptionprotected JavaScriptRootNodeprotected booleanstatic FunctionRootNodecreate(AbstractBodyNode body, com.oracle.truffle.api.frame.FrameDescriptor frameDescriptor, JSFunctionData functionData, com.oracle.truffle.api.source.SourceSection sourceSection, ScriptOrModule activeScriptOrModule, com.oracle.truffle.api.strings.TruffleString internalFunctionName) protected ObjectexecuteInRealm(com.oracle.truffle.api.frame.VirtualFrame frame) getBody()getName()com.oracle.truffle.api.strings.TruffleStringintvoidinitializeCallTarget(JSFunctionData fd, JSFunctionData.Target target, com.oracle.truffle.api.CallTarget rootTarget) protected booleanbooleanbooleanIs this a regular JS function with standard arguments, to be included in stack traces.booleanbooleanstatic voidtoString()Methods inherited from class AbstractFunctionRootNode
getActiveScriptOrModuleMethods inherited from class JavaScriptRealmBoundaryRootNode
executeMethods inherited from class JavaScriptRootNode
findAsynchronousFrames, getLanguage, getRealm, getSourceSection, isCaptureFramesForTrace, isInternal, isResumptionMethods inherited from class com.oracle.truffle.api.nodes.RootNode
computeSize, copy, createConstantNode, findAsynchronousFrames, findBytecodeIndex, findInstrumentableCallNode, getCallTarget, getFrameDescriptor, getParentFrameDescriptor, getQualifiedName, isCaptureFramesForTrace, isCaptureFramesForTrace, isInstrumentable, isSameFrame, isTrivial, prepareForAOT, prepareForCall, prepareForCompilation, prepareForInstrumentation, translateStackTraceElementMethods inherited from class com.oracle.truffle.api.nodes.ExecutableNode
getLanguage, getLanguageInfoMethods inherited from class com.oracle.truffle.api.nodes.Node
accept, adoptChildren, atomic, atomic, deepCopy, getChildren, getCost, getDescription, getEncapsulatingSourceSection, getLock, getParent, getRootNode, insert, insert, isAdoptable, isSafelyReplaceableBy, notifyInserted, onReplace, replace, replace, reportPolymorphicSpecialize, reportReplaceMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface FrameDescriptorProvider
getFrameDescriptorMethods inherited from interface JSFunctionData.CallTargetInitializer
initializeCallTargets, initializeRoot
-
Constructor Details
-
FunctionRootNode
protected FunctionRootNode(AbstractBodyNode body, com.oracle.truffle.api.frame.FrameDescriptor frameDescriptor, JSFunctionData functionData, com.oracle.truffle.api.source.SourceSection sourceSection, ScriptOrModule activeScriptOrModule, com.oracle.truffle.api.strings.TruffleString internalFunctionName)
-
-
Method Details
-
create
public static FunctionRootNode create(AbstractBodyNode body, com.oracle.truffle.api.frame.FrameDescriptor frameDescriptor, JSFunctionData functionData, com.oracle.truffle.api.source.SourceSection sourceSection, ScriptOrModule activeScriptOrModule, com.oracle.truffle.api.strings.TruffleString internalFunctionName) -
getFunctionData
-
isCloningAllowed
public boolean isCloningAllowed()- Overrides:
isCloningAllowedin classcom.oracle.truffle.api.nodes.RootNode
-
isCloneUninitializedSupported
protected boolean isCloneUninitializedSupported()- Overrides:
isCloneUninitializedSupportedin classcom.oracle.truffle.api.nodes.RootNode
-
cloneUninitialized
- Overrides:
cloneUninitializedin classcom.oracle.truffle.api.nodes.RootNode
-
isInlineImmediately
public boolean isInlineImmediately() -
isSplitImmediately
public boolean isSplitImmediately() -
getName
- Overrides:
getNamein classcom.oracle.truffle.api.nodes.RootNode
-
getNameTString
public com.oracle.truffle.api.strings.TruffleString getNameTString() -
toString
- Overrides:
toStringin classcom.oracle.truffle.api.nodes.Node
-
getBody
-
executeInRealm
- Specified by:
executeInRealmin classJavaScriptRealmBoundaryRootNode
-
getDebugProperties
-
getParamCount
public int getParamCount() -
isFunction
public boolean isFunction()Description copied from class:JavaScriptRootNodeIs this a regular JS function with standard arguments, to be included in stack traces.- Overrides:
isFunctionin classJavaScriptRootNode
-
countsTowardsStackTraceLimit
protected boolean countsTowardsStackTraceLimit()- Overrides:
countsTowardsStackTraceLimitin classJavaScriptRootNode
-
setOmitFromStackTrace
-
initializeCallTarget
public void initializeCallTarget(JSFunctionData fd, JSFunctionData.Target target, com.oracle.truffle.api.CallTarget rootTarget) - Specified by:
initializeCallTargetin interfaceJSFunctionData.CallTargetInitializer
-