public abstract class CallTargetNode extends ValueNode implements LIRLowerable
| Modifier and Type | Class and Description |
|---|---|
static class |
CallTargetNode.InvokeKind |
Node.ConstantNodeParameter, Node.InjectedNodeParameter, Node.Input, Node.NodeIntrinsic, Node.OptionalInput, Node.Successor, Node.ValueNumberable| Modifier and Type | Field and Description |
|---|---|
protected NodeInputList<ValueNode> |
arguments |
protected CallTargetNode.InvokeKind |
invokeKind |
protected ResolvedJavaMethod |
targetMethod |
static NodeClass<CallTargetNode> |
TYPE |
NODE_LIST, NOT_ITERABLE, USE_UNSAFE_TO_CLONE, WithAllEdges, WithNoEdges, WithOnlyInputEdges, WithOnlySucessorEdges| Modifier | Constructor and Description |
|---|---|
protected |
CallTargetNode(NodeClass<? extends CallTargetNode> c,
List<ValueNode> arguments,
ResolvedJavaMethod targetMethod,
CallTargetNode.InvokeKind invokeKind) |
protected |
CallTargetNode(NodeClass<? extends CallTargetNode> c,
ValueNode[] arguments,
ResolvedJavaMethod targetMethod,
CallTargetNode.InvokeKind invokeKind) |
| Modifier and Type | Method and Description |
|---|---|
NodeInputList<ValueNode> |
arguments() |
void |
generate(NodeLIRBuilderTool gen) |
CallTargetNode.InvokeKind |
invokeKind() |
abstract Stamp |
returnStamp() |
void |
setInvokeKind(CallTargetNode.InvokeKind kind) |
void |
setTargetMethod(ResolvedJavaMethod method) |
ResolvedJavaMethod |
targetMethod()
Gets the target method for this invocation instruction.
|
abstract String |
targetName()
A human-readable representation of the target, used for debug printing only.
|
asConstant, asJavaConstant, asNode, getKind, graph, inferStamp, isAllowedUsageType, isConstant, isConstantPredicate, isNullConstant, setStamp, stamp, updateStampacceptInputs, acceptSuccessors, afterClone, assertFalse, assertTrue, cfgPredecessors, cfgSuccessors, clearInputs, clearSuccessors, copyWithInputs, copyWithInputs, equals, fail, formatTo, getDebugProperties, getDebugProperties, getId, getNodeClass, getUsageAt, getUsageCount, hashCode, hasNoUsages, hasUsages, inputs, isAlive, isDeleted, markDeleted, modCount, newIdentityMap, newIdentityMap, newIdentityMap, newMap, newMap, newMap, newSet, newSet, predecessor, pushInputs, removeUsage, replaceAndDelete, replaceAtMatchingUsages, replaceAtPredecessor, replaceAtUsages, replaceAtUsages, replaceAtUsages, replaceFirstInput, replaceFirstSuccessor, safeDelete, simplify, successors, toString, toString, updatePredecessor, updateUsages, updateUsagesInterface, usages, valueEquals, verify, verifyEdges, verifyInputspublic static final NodeClass<CallTargetNode> TYPE
protected NodeInputList<ValueNode> arguments
protected ResolvedJavaMethod targetMethod
protected CallTargetNode.InvokeKind invokeKind
protected CallTargetNode(NodeClass<? extends CallTargetNode> c, ValueNode[] arguments, ResolvedJavaMethod targetMethod, CallTargetNode.InvokeKind invokeKind)
protected CallTargetNode(NodeClass<? extends CallTargetNode> c, List<ValueNode> arguments, ResolvedJavaMethod targetMethod, CallTargetNode.InvokeKind invokeKind)
public NodeInputList<ValueNode> arguments()
public abstract Stamp returnStamp()
public abstract String targetName()
public void generate(NodeLIRBuilderTool gen)
generate in interface LIRLowerablepublic void setTargetMethod(ResolvedJavaMethod method)
public ResolvedJavaMethod targetMethod()
public CallTargetNode.InvokeKind invokeKind()
public void setInvokeKind(CallTargetNode.InvokeKind kind)