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.ValueNumberableArrayLengthProvider.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.
|
asNodeasConstant, asJavaConstant, asSerializableConstant, getStackKind, graph, hasUsagesOtherThan, inferStamp, isAllowedUsageType, isConstant, isConstantPredicate, isDefaultConstant, isIllegalConstant, isJavaConstant, isNullConstant, isSerializableConstant, replaceAtAllUsages, replaceAtUsages, setStamp, stamp, updateStampafterClone, 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, withNodeSourcePositionpublic 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)
Virtualizablevirtualize in interface Virtualizabletool - the tool used to describe the effects of this nodepublic ValueNode findLength(ArrayLengthProvider.FindLengthMode mode, jdk.vm.ci.meta.ConstantReflectionProvider constantReflection)
ArrayLengthProviderArrayLengthProvider.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