Package com.oracle.truffle.api.nodes
Class IndirectCallNode
java.lang.Object
com.oracle.truffle.api.nodes.Node
com.oracle.truffle.api.nodes.IndirectCallNode
- All Implemented Interfaces:
NodeInterface
,Cloneable
Represents an indirect call to a
CallTarget
. Indirect calls are calls for which the
CallTarget
may change dynamically for each consecutive call. This part of the Truffle API
enables the runtime system to perform additional optimizations on indirect calls.
Please note: This class is not intended to be sub classed by guest language implementations.-
Nested Class Summary
Nested classes/interfaces inherited from class com.oracle.truffle.api.nodes.Node
Node.Child, Node.Children
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionabstract Object
call
(VirtualFrame frame, CallTarget target, Object[] arguments) Performs an indirect call to the givenCallTarget
target with the provided arguments.Methods inherited from class com.oracle.truffle.api.nodes.Node
accept, adoptChildren, assignSourceSection, atomic, atomic, clearSourceSection, clone, copy, getChildren, getCost, getDebugProperties, getDescription, getEncapsulatingSourceSection, getLanguage, getParent, getRootNode, getSourceSection, insert, insert, isReplaceable, onAdopt, onReplace, replace, replace, toString
-
Constructor Details
-
IndirectCallNode
public IndirectCallNode()
-
-
Method Details
-
call
Performs an indirect call to the givenCallTarget
target with the provided arguments.- Parameters:
frame
- the caller frametarget
- theCallTarget
to callarguments
- the arguments to provide- Returns:
- the return value of the call
-