Class FunctionRootNode

java.lang.Object
com.oracle.truffle.api.nodes.Node
com.oracle.truffle.api.nodes.ExecutableNode
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
  • 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

      public JSFunctionData getFunctionData()
    • isCloningAllowed

      public boolean isCloningAllowed()
      Overrides:
      isCloningAllowed in class com.oracle.truffle.api.nodes.RootNode
    • isCloneUninitializedSupported

      protected boolean isCloneUninitializedSupported()
      Overrides:
      isCloneUninitializedSupported in class com.oracle.truffle.api.nodes.RootNode
    • cloneUninitialized

      protected JavaScriptRootNode cloneUninitialized()
      Overrides:
      cloneUninitialized in class com.oracle.truffle.api.nodes.RootNode
    • isInlineImmediately

      public boolean isInlineImmediately()
    • isSplitImmediately

      public boolean isSplitImmediately()
    • getName

      public String getName()
      Overrides:
      getName in class com.oracle.truffle.api.nodes.RootNode
    • getNameTString

      public com.oracle.truffle.api.strings.TruffleString getNameTString()
    • toString

      public String toString()
      Overrides:
      toString in class com.oracle.truffle.api.nodes.Node
    • getBody

      public JavaScriptNode getBody()
    • executeInRealm

      protected Object executeInRealm(com.oracle.truffle.api.frame.VirtualFrame frame)
      Specified by:
      executeInRealm in class JavaScriptRealmBoundaryRootNode
    • getDebugProperties

      public Map<String,Object> getDebugProperties()
      Overrides:
      getDebugProperties in class com.oracle.truffle.api.nodes.Node
    • getParamCount

      public int getParamCount()
    • isFunction

      public boolean isFunction()
      Description copied from class: JavaScriptRootNode
      Is this a regular JS function with standard arguments, to be included in stack traces.
      Overrides:
      isFunction in class JavaScriptRootNode
    • countsTowardsStackTraceLimit

      protected boolean countsTowardsStackTraceLimit()
      Overrides:
      countsTowardsStackTraceLimit in class JavaScriptRootNode
    • setOmitFromStackTrace

      public static void setOmitFromStackTrace(JSFunctionData until)
    • initializeCallTarget

      public void initializeCallTarget(JSFunctionData fd, JSFunctionData.Target target, com.oracle.truffle.api.CallTarget rootTarget)
      Specified by:
      initializeCallTarget in interface JSFunctionData.CallTargetInitializer