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.ValueNumberableArrayLengthProvider.FindLengthModeDeoptimizingNode.DeoptAfter, DeoptimizingNode.DeoptBefore, DeoptimizingNode.DeoptDuring| Modifier and Type | Field and Description |
|---|---|
static NodeClass<NewArrayNode> |
TYPE |
lengthemitMemoryBarrier, fillContentsstateBeforenextEMPTY_ARRAY, stampNODE_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, lengthcanDeoptimize, clearEmitMemoryBarrier, emitMemoryBarrier, fillContents, setFillContentssetStateBefore, stateBeforeasFixedWithNextNode, next, setNextasFixedNode, verifyasConstant, asJavaConstant, asNode, asSerializableConstant, checkReplaceAtUsagesInvariants, getStackKind, graph, hasUsagesOtherThan, inferStamp, isAllowedUsageType, isConstant, isConstantPredicate, isDefaultConstant, isIllegalConstant, isJavaConstant, isNullConstant, isSerializableConstant, recursivelyDataFlowEqualsUpTo, setStamp, stamp, updateStamp, updateUsagesInterfaceafterClone, 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, withNodeSourcePositionclone, equals, getClass, notify, notifyAll, wait, wait, waitasFixedWithNextNodeasFixedNodeasNodecanUseAsStateDuringvalidateDeoptFrameStatesstatespublic 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)
Virtualizablevirtualize in interface Virtualizabletool - the tool used to describe the effects of this nodepublic void simplify(SimplifierTool tool)
simplify in interface Simplifiable