public class FunctionRootNode extends JavaScriptRealmBoundaryRootNode implements FrameDescriptorProvider, JSFunctionData.CallTargetInitializer
| Modifier | Constructor and Description |
|---|---|
protected |
FunctionRootNode(AbstractBodyNode body,
com.oracle.truffle.api.frame.FrameDescriptor frameDescriptor,
JSFunctionData functionData,
com.oracle.truffle.api.source.SourceSection sourceSection,
String internalFunctionName) |
| Modifier and Type | Method and Description |
|---|---|
protected JavaScriptRootNode |
cloneUninitialized() |
static FunctionRootNode |
create(AbstractBodyNode body,
com.oracle.truffle.api.frame.FrameDescriptor frameDescriptor,
JSFunctionData functionData,
com.oracle.truffle.api.source.SourceSection sourceSection,
String internalFunctionName) |
protected Object |
executeInRealm(com.oracle.truffle.api.frame.VirtualFrame frame) |
JavaScriptNode |
getBody() |
protected JSContext |
getContext() |
Map<String,Object> |
getDebugProperties() |
JSFunctionData |
getFunctionData() |
String |
getName() |
int |
getParamCount() |
void |
initializeCallTarget(JSFunctionData fd,
JSFunctionData.Target target,
com.oracle.truffle.api.CallTarget rootTarget) |
void |
initializeRoot(JSFunctionData fd) |
protected boolean |
isCloneUninitializedSupported() |
boolean |
isCloningAllowed() |
boolean |
isFunction()
Is this a regular JS function with standard arguments, to be included in stack traces.
|
boolean |
isInlineImmediately() |
boolean |
isSplitImmediately() |
String |
toString() |
execute, getRealmfindAsynchronousFrames, getSourceSection, isCaptureFramesForTrace, isInternal, isResumptioncopy, createConstantNode, findAsynchronousFrames, getCallTarget, getCompilerOptions, getFrameDescriptor, getQualifiedName, isInstrumentable, isTrivial, prepareForAOT, setCallTarget, translateStackTraceElementgetLanguage, getLanguageInfoaccept, adoptChildren, atomic, atomic, deepCopy, getChildren, getCost, getDescription, getEncapsulatingSourceSection, getLock, getParent, getRootNode, insert, insert, isAdoptable, isSafelyReplaceableBy, lookupContextReference, lookupLanguageReference, notifyInserted, onReplace, replace, replace, reportPolymorphicSpecializeclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetFrameDescriptorinitializeEagerprotected FunctionRootNode(AbstractBodyNode body, com.oracle.truffle.api.frame.FrameDescriptor frameDescriptor, JSFunctionData functionData, com.oracle.truffle.api.source.SourceSection sourceSection, String internalFunctionName)
public static FunctionRootNode create(AbstractBodyNode body, com.oracle.truffle.api.frame.FrameDescriptor frameDescriptor, JSFunctionData functionData, com.oracle.truffle.api.source.SourceSection sourceSection, String internalFunctionName)
public JSFunctionData getFunctionData()
public boolean isCloningAllowed()
isCloningAllowed in class com.oracle.truffle.api.nodes.RootNodeprotected boolean isCloneUninitializedSupported()
isCloneUninitializedSupported in class com.oracle.truffle.api.nodes.RootNodeprotected JavaScriptRootNode cloneUninitialized()
cloneUninitialized in class com.oracle.truffle.api.nodes.RootNodepublic boolean isInlineImmediately()
public boolean isSplitImmediately()
public String getName()
getName in class com.oracle.truffle.api.nodes.RootNodepublic String toString()
toString in class com.oracle.truffle.api.nodes.Nodepublic JavaScriptNode getBody()
protected JSContext getContext()
getContext in class JavaScriptRealmBoundaryRootNodeprotected Object executeInRealm(com.oracle.truffle.api.frame.VirtualFrame frame)
executeInRealm in class JavaScriptRealmBoundaryRootNodepublic Map<String,Object> getDebugProperties()
getDebugProperties in class com.oracle.truffle.api.nodes.Nodepublic int getParamCount()
public boolean isFunction()
JavaScriptRootNodeisFunction in class JavaScriptRootNodepublic void initializeRoot(JSFunctionData fd)
initializeRoot in interface JSFunctionData.Initializerpublic void initializeCallTarget(JSFunctionData fd, JSFunctionData.Target target, com.oracle.truffle.api.CallTarget rootTarget)
initializeCallTarget in interface JSFunctionData.CallTargetInitializer