public abstract class IndirectCallNode extends Node
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.Node.Child, Node.Children
Constructor and Description |
---|
IndirectCallNode() |
Modifier and Type | Method and Description |
---|---|
abstract java.lang.Object |
call(VirtualFrame frame,
CallTarget target,
java.lang.Object[] arguments)
Performs an indirect call to the given
CallTarget target with the provided arguments. |
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
public abstract java.lang.Object call(VirtualFrame frame, CallTarget target, java.lang.Object[] arguments)
CallTarget
target with the provided arguments.frame
- the caller frametarget
- the CallTarget
to callarguments
- the arguments to provide