public final class AllocatedObjectNode extends FloatingNode implements VirtualizableAllocation, ArrayLengthProvider
CommitAllocationNode
. The object is identified by its
VirtualObjectNode
.Node.ConstantNodeParameter, Node.EdgeVisitor, Node.IndirectCanonicalization, Node.InjectedNodeParameter, Node.Input, Node.NodeInsertionStackTrace, Node.NodeIntrinsic, Node.NodeIntrinsicFactory, Node.OptionalInput, Node.Successor, Node.ValueNumberable
ArrayLengthProvider.FindLengthMode
Modifier and Type | Field and Description |
---|---|
static NodeClass<AllocatedObjectNode> |
TYPE |
NODE_LIST, NOT_ITERABLE, TRACK_CREATION_POSITION, WithAllEdges, WithNoEdges, WithOnlyInputEdges, WithOnlySucessorEdges
Constructor and Description |
---|
AllocatedObjectNode(VirtualObjectNode virtualObject) |
Modifier and Type | Method and Description |
---|---|
ValueNode |
findLength(ArrayLengthProvider.FindLengthMode mode,
jdk.vm.ci.meta.ConstantReflectionProvider constantReflection)
Returns the length of the array described by this node, or null if it is not available.
|
CommitAllocationNode |
getCommit() |
VirtualObjectNode |
getVirtualObject() |
void |
setCommit(CommitAllocationNode x) |
void |
virtualize(VirtualizerTool tool)
A node class can implement this method to convey information about what its effect would be
if some of its inputs were virtualized.
|
asNode
asConstant, asJavaConstant, asSerializableConstant, getStackKind, graph, hasUsagesOtherThan, inferStamp, isAllowedUsageType, isConstant, isConstantPredicate, isDefaultConstant, isIllegalConstant, isJavaConstant, isNullConstant, isSerializableConstant, replaceAtAllUsages, replaceAtUsages, setStamp, stamp, updateStamp
afterClone, applyInputs, applySuccessors, assertFalse, assertTrue, cfgPredecessors, cfgSuccessors, clearInputs, clearNodeSourcePosition, clearSuccessors, copyWithInputs, copyWithInputs, dataFlowEquals, estimatedNodeCycles, estimatedNodeSize, fail, formatTo, getCreationPosition, getDebug, getDebugProperties, getDebugProperties, getInsertionPosition, getNodeClass, getNodeSourcePosition, getOptions, getUsageCount, hasExactlyOneUsage, hashCode, hasMoreThanOneUsage, hasNoUsages, hasOnlyUsagesOfType, hasUsages, inputPositions, inputs, isAlive, isDeleted, isUnregistered, markDeleted, maybeNotifyZeroUsages, modCount, predecessor, pushInputs, removeUsage, replaceAllInputs, replaceAndDelete, replaceAtMatchingUsages, replaceAtPredecessor, replaceAtUsages, replaceAtUsages, replaceAtUsages, replaceAtUsages, replaceAtUsagesAndDelete, replaceAtUsagesAndDelete, replaceFirstInput, replaceFirstInput, replaceFirstSuccessor, safeDelete, setCreationPosition, setInsertionPosition, setNodeSourcePosition, simplify, successorPositions, successors, toString, toString, updateNodeSourcePosition, updatePredecessor, updateUsages, updateUsagesInterface, usages, valueEquals, verify, verifyEdges, verifyInputs, verifySourcePosition, withNodeSourcePosition
public static final NodeClass<AllocatedObjectNode> TYPE
public AllocatedObjectNode(VirtualObjectNode virtualObject)
public VirtualObjectNode getVirtualObject()
public CommitAllocationNode getCommit()
public void setCommit(CommitAllocationNode x)
public void virtualize(VirtualizerTool tool)
Virtualizable
virtualize
in interface Virtualizable
tool
- the tool used to describe the effects of this nodepublic ValueNode findLength(ArrayLengthProvider.FindLengthMode mode, jdk.vm.ci.meta.ConstantReflectionProvider constantReflection)
ArrayLengthProvider
ArrayLengthProvider.FindLengthMode
.
This method should not be called directly. Use GraphUtil.arrayLength(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.spi.ArrayLengthProvider.FindLengthMode, jdk.vm.ci.meta.ConstantReflectionProvider)
instead.findLength
in interface ArrayLengthProvider