Class NewTargetRootNode

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.nodes.function.NewTargetRootNode
All Implemented Interfaces:
com.oracle.truffle.api.nodes.NodeInterface, Cloneable
Direct Known Subclasses:
NewTargetRootNode.DropNewTargetRootNode, NewTargetRootNode.InsertNewTargetRootNode

public abstract class NewTargetRootNode extends JavaScriptRootNode
  • Field Details

    • callTarget

      protected final com.oracle.truffle.api.CallTarget callTarget
    • callNode

      protected com.oracle.truffle.api.nodes.DirectCallNode callNode
  • Constructor Details

    • NewTargetRootNode

      protected NewTargetRootNode(JavaScriptLanguage lang, com.oracle.truffle.api.CallTarget callTarget)
  • Method Details

    • createNewTargetConstruct

      public static JavaScriptRootNode createNewTargetConstruct(JavaScriptLanguage lang, com.oracle.truffle.api.CallTarget callTarget)
    • createNewTargetCall

      public static JavaScriptRootNode createNewTargetCall(JavaScriptLanguage lang, com.oracle.truffle.api.CallTarget callTarget)
    • createDropNewTarget

      public static JavaScriptRootNode createDropNewTarget(JavaScriptLanguage lang, com.oracle.truffle.api.CallTarget callTarget)
    • 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
    • isInternal

      public boolean isInternal()
      Overrides:
      isInternal in class JavaScriptRootNode
    • cloneUninitialized

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

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

      public Object execute(com.oracle.truffle.api.frame.VirtualFrame frame)
      Specified by:
      execute in class com.oracle.truffle.api.nodes.RootNode
    • getName

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

      protected abstract Object doCall(com.oracle.truffle.api.frame.VirtualFrame frame)