Class InternalCallNode

java.lang.Object
com.oracle.truffle.api.nodes.Node
com.oracle.truffle.js.nodes.JavaScriptBaseNode
com.oracle.truffle.js.nodes.function.InternalCallNode
All Implemented Interfaces:
com.oracle.truffle.api.nodes.NodeInterface, Cloneable

public abstract class InternalCallNode extends JavaScriptBaseNode
Simple call helper node for internal calls, caching on the call target.
  • 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
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
     
  • Method Summary

    Modifier and Type
    Method
    Description
     
    protected static Object
    directCall(com.oracle.truffle.api.CallTarget callTarget, Object[] arguments, com.oracle.truffle.api.CallTarget cachedCallTarget, com.oracle.truffle.api.nodes.DirectCallNode directCallNode)
     
    abstract Object
    execute(com.oracle.truffle.api.CallTarget callTarget, Object[] arguments)
     
    protected static Object
    indirectCall(com.oracle.truffle.api.CallTarget callTarget, Object[] arguments, com.oracle.truffle.api.nodes.IndirectCallNode indirectCallNode)
     

    Methods inherited from class com.oracle.truffle.js.nodes.JavaScriptBaseNode

    copy, getJSContext, getLanguage, getLanguageOptions, getRealm, hasOverloadedOperators, onReplace

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

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

    Methods inherited from class java.lang.Object

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

    • InternalCallNode

      protected InternalCallNode()
  • Method Details

    • create

      public static InternalCallNode create()
    • execute

      public abstract Object execute(com.oracle.truffle.api.CallTarget callTarget, Object[] arguments)
    • directCall

      protected static Object directCall(com.oracle.truffle.api.CallTarget callTarget, Object[] arguments, com.oracle.truffle.api.CallTarget cachedCallTarget, com.oracle.truffle.api.nodes.DirectCallNode directCallNode)
    • indirectCall

      protected static Object indirectCall(com.oracle.truffle.api.CallTarget callTarget, Object[] arguments, com.oracle.truffle.api.nodes.IndirectCallNode indirectCallNode)