public class NewArrayNode extends AbstractNewArrayNode implements VirtualizableAllocation
NewArrayNode is used for all array allocations where the element type is know at
compile time.Node.ConstantNodeParameter, Node.InjectedNodeParameter, Node.Input, Node.NodeIntrinsic, Node.OptionalInput, Node.Successor, Node.ValueNumberableDeoptimizingNode.DeoptAfter, DeoptimizingNode.DeoptBefore, DeoptimizingNode.DeoptDuring| Modifier and Type | Field and Description |
|---|---|
static NodeClass<NewArrayNode> |
TYPE |
lengthfillContentsstateBeforenextNODE_LIST, NOT_ITERABLE, USE_UNSAFE_TO_CLONE, 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 |
|---|---|
protected VirtualArrayNode |
createVirtualArrayNode(int constantLength) |
protected ConstantNode |
defaultElementValue() |
ResolvedJavaType |
elementType()
Gets the element type of the array.
|
private static Object |
newArray(Class<?> elementType,
int length,
boolean fillContents) |
static Object |
newUninitializedArray(Class<?> elementType,
int length) |
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.
|
dimension, dimensionCount, length, simplifycanDeoptimize, fillContents, lowersetStateBefore, stateBeforeasNode, next, setNextasConstant, asJavaConstant, 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, successors, toString, toString, updatePredecessor, updateUsages, updateUsagesInterface, usages, valueEquals, verifyEdges, verifyInputsclone, finalize, getClass, notify, notifyAll, wait, wait, waitstatespublic 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 static Object newUninitializedArray(Class<?> elementType, int length)
public ResolvedJavaType elementType()
public void virtualize(VirtualizerTool tool)
Virtualizablevirtualize in interface Virtualizabletool - the tool used to describe the effects of this nodeprotected VirtualArrayNode createVirtualArrayNode(int constantLength)
protected ConstantNode defaultElementValue()