public class NewInstanceNode extends AbstractNewObjectNode implements VirtualizableAllocation
NewInstanceNode represents the allocation of an instance class object.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 |
|---|---|
protected ResolvedJavaType |
instanceClass |
static NodeClass<NewInstanceNode> |
TYPE |
fillContentsstateBeforenextNODE_LIST, NOT_ITERABLE, USE_UNSAFE_TO_CLONE, WithAllEdges, WithNoEdges, WithOnlyInputEdges, WithOnlySucessorEdges| Modifier | Constructor and Description |
|---|---|
protected |
NewInstanceNode(NodeClass<? extends NewInstanceNode> c,
ResolvedJavaType type,
boolean fillContents,
FrameState stateBefore) |
|
NewInstanceNode(ResolvedJavaType type,
boolean fillContents) |
|
NewInstanceNode(ResolvedJavaType type,
boolean fillContents,
FrameState stateBefore) |
| Modifier and Type | Method and Description |
|---|---|
protected VirtualInstanceNode |
createVirtualInstanceNode(boolean hasIdentity) |
protected ConstantNode |
defaultFieldValue(ResolvedJavaField field) |
ResolvedJavaType |
instanceClass()
Gets the instance class being allocated by this node.
|
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.
|
canDeoptimize, fillContents, lower, simplifysetStateBefore, 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<NewInstanceNode> TYPE
protected final ResolvedJavaType instanceClass
public NewInstanceNode(ResolvedJavaType type, boolean fillContents)
public NewInstanceNode(ResolvedJavaType type, boolean fillContents, FrameState stateBefore)
protected NewInstanceNode(NodeClass<? extends NewInstanceNode> c, ResolvedJavaType type, boolean fillContents, FrameState stateBefore)
public ResolvedJavaType instanceClass()
public void virtualize(VirtualizerTool tool)
Virtualizablevirtualize in interface Virtualizabletool - the tool used to describe the effects of this nodeprotected VirtualInstanceNode createVirtualInstanceNode(boolean hasIdentity)
protected ConstantNode defaultFieldValue(ResolvedJavaField field)