Class JavaScriptRealmBoundaryRootNode

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

public abstract class JavaScriptRealmBoundaryRootNode extends JavaScriptRootNode
A RootNode for all cases where the body could throw and we would need to set the Realm to the exception.
  • 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 JavaScriptRootNode

    MODULE_DUMMY_FRAMEDESCRIPTOR
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
     
    protected
    JavaScriptRealmBoundaryRootNode(JavaScriptLanguage lang, com.oracle.truffle.api.source.SourceSection sourceSection)
     
    protected
    JavaScriptRealmBoundaryRootNode(JavaScriptLanguage lang, com.oracle.truffle.api.source.SourceSection sourceSection, com.oracle.truffle.api.frame.FrameDescriptor frameDescriptor)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    final Object
    execute(com.oracle.truffle.api.frame.VirtualFrame frame)
     
    protected abstract Object
    executeInRealm(com.oracle.truffle.api.frame.VirtualFrame frame)
     

    Methods inherited from class com.oracle.truffle.api.nodes.RootNode

    cloneUninitialized, computeSize, copy, createConstantNode, findAsynchronousFrames, findBytecodeIndex, findInstrumentableCallNode, getCallTarget, getFrameDescriptor, getName, getParentFrameDescriptor, getQualifiedName, isCaptureFramesForTrace, isCaptureFramesForTrace, isCloneUninitializedSupported, isCloningAllowed, isInstrumentable, isSameFrame, isTrivial, prepareForAOT, prepareForCall, prepareForCompilation, prepareForInstrumentation, translateStackTraceElement

    Methods inherited from class com.oracle.truffle.api.nodes.ExecutableNode

    getLanguage, getLanguageInfo

    Methods inherited from class com.oracle.truffle.api.nodes.Node

    accept, adoptChildren, atomic, atomic, deepCopy, getChildren, getCost, getDebugProperties, getDescription, getEncapsulatingSourceSection, getLock, getParent, getRootNode, insert, insert, isAdoptable, isSafelyReplaceableBy, notifyInserted, onReplace, replace, replace, reportPolymorphicSpecialize, reportReplace, toString

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • JavaScriptRealmBoundaryRootNode

      protected JavaScriptRealmBoundaryRootNode(JavaScriptLanguage lang, com.oracle.truffle.api.source.SourceSection sourceSection, com.oracle.truffle.api.frame.FrameDescriptor frameDescriptor)
    • JavaScriptRealmBoundaryRootNode

      protected JavaScriptRealmBoundaryRootNode(JavaScriptLanguage lang, com.oracle.truffle.api.source.SourceSection sourceSection)
    • JavaScriptRealmBoundaryRootNode

      protected JavaScriptRealmBoundaryRootNode(JavaScriptLanguage lang)
  • Method Details

    • execute

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

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