public class NewArrayNode extends AbstractNewArrayNode implements VirtualizableAllocation, Simplifiable
NewArrayNode
is used for all array allocations where the element type is known at
compile time.Node.ConstantNodeParameter, Node.EdgeVisitor, Node.IndirectCanonicalization, Node.InjectedNodeParameter, Node.Input, Node.NodeInsertionStackTrace, Node.NodeIntrinsic, Node.NodeIntrinsicFactory, Node.OptionalInput, Node.Successor, Node.ValueNumberable
ArrayLengthProvider.FindLengthMode
DeoptimizingNode.DeoptAfter, DeoptimizingNode.DeoptBefore, DeoptimizingNode.DeoptDuring
Modifier and Type | Field and Description |
---|---|
static NodeClass<NewArrayNode> |
TYPE |
length
emitMemoryBarrier, fillContents
stateBefore
next
EMPTY_ARRAY, stamp
NODE_LIST, NOT_ITERABLE, TRACK_CREATION_POSITION, WithAllEdges, WithNoEdges, WithOnlyInputEdges, WithOnlySucessorEdges
Modifier | Constructor and Description |
---|---|
protected |
NewArrayNode(NodeClass<? extends NewArrayNode> c,
ResolvedJavaType elementType,
ValueNode length,
boolean fillContents,
FrameState stateBefore) |
|
NewArrayNode(ResolvedJavaType elementType,
ValueNode length,
boolean fillContents) |
|
NewArrayNode(ResolvedJavaType elementType,
ValueNode length,
boolean fillContents,
FrameState stateBefore) |
Modifier and Type | Method and Description |
---|---|
ResolvedJavaType |
elementType()
Gets the element type of the array.
|
static Object |
newUninitializedArray(Class<?> elementType,
int length) |
void |
simplify(SimplifierTool tool) |
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.
|
asNewArrayNode, dimension, dimensionCount, findLength, length
canDeoptimize, clearEmitMemoryBarrier, emitMemoryBarrier, fillContents, setFillContents
setStateBefore, stateBefore
asFixedWithNextNode, next, setNext
asFixedNode, verify
asConstant, asJavaConstant, asNode, asSerializableConstant, checkReplaceAtUsagesInvariants, getStackKind, graph, hasUsagesOtherThan, inferStamp, isAllowedUsageType, isConstant, isConstantPredicate, isDefaultConstant, isIllegalConstant, isJavaConstant, isNullConstant, isSerializableConstant, recursivelyDataFlowEqualsUpTo, setStamp, stamp, updateStamp, updateUsagesInterface
afterClone, applyInputs, applySuccessors, assertFalse, assertTrue, cfgPredecessors, cfgSuccessors, clearInputs, clearNodeSourcePosition, clearSuccessors, copyWithInputs, copyWithInputs, dataFlowEquals, dynamicNodeSizeEstimate, estimatedNodeCycles, estimatedNodeSize, fail, formatTo, getCreationPosition, getDebug, getDebugProperties, getDebugProperties, getInsertionPosition, getNodeClass, getNodeSourcePosition, getOptions, getUsageCount, hasExactlyOneUsage, hasExactlyOneUsageOfType, hashCode, hasMoreThanOneUsage, hasNoUsages, hasOnlyUsagesOfType, hasUsages, hasUsagesOfType, inputPositions, inputs, isAlive, isDeleted, isUnregistered, markDeleted, maybeNotifyZeroUsages, modCount, predecessor, pushInputs, removeUsage, replaceAllInputs, replaceAndDelete, replaceAtAllUsages, replaceAtMatchingUsages, replaceAtPredecessor, replaceAtUsages, replaceAtUsages, replaceAtUsages, replaceAtUsages, replaceAtUsages, replaceAtUsagesAndDelete, replaceAtUsagesAndDelete, replaceFirstInput, replaceFirstSuccessor, safeDelete, setCreationPosition, setInsertionPosition, setNodeSourcePosition, singleUsage, successorPositions, successors, toString, toString, updateNodeSourcePosition, updatePredecessor, updateUsages, usages, valueEquals, verifyEdges, verifyInputs, verifySourcePosition, withNodeSourcePosition
clone, equals, getClass, notify, notifyAll, wait, wait, wait
asFixedWithNextNode
asFixedNode
asNode
canUseAsStateDuring
validateDeoptFrameStates
states
public static final NodeClass<NewArrayNode> TYPE
public NewArrayNode(ResolvedJavaType elementType, ValueNode length, boolean fillContents)
public NewArrayNode(ResolvedJavaType elementType, ValueNode length, boolean fillContents, FrameState stateBefore)
protected NewArrayNode(NodeClass<? extends NewArrayNode> c, ResolvedJavaType elementType, ValueNode length, boolean fillContents, FrameState stateBefore)
public ResolvedJavaType elementType()
public void virtualize(VirtualizerTool tool)
Virtualizable
virtualize
in interface Virtualizable
tool
- the tool used to describe the effects of this nodepublic void simplify(SimplifierTool tool)
simplify
in interface Simplifiable