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
,java.lang.Cloneable
public abstract class IndirectCallNode extends Node
Represents an indirect call to aCallTarget
. Indirect calls are calls for which theCallTarget
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 Constructor Description IndirectCallNode()
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description abstract java.lang.Object
call(VirtualFrame frame, CallTarget target, java.lang.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
-
-
-
-
Method Detail
-
call
public abstract java.lang.Object call(VirtualFrame frame, CallTarget target, java.lang.Object[] arguments)
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
-
-