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.ValueNumberable
DeoptimizingNode.DeoptAfter, DeoptimizingNode.DeoptBefore, DeoptimizingNode.DeoptDuring
Modifier and Type | Field and Description |
---|---|
protected ResolvedJavaType |
instanceClass |
static NodeClass<NewInstanceNode> |
TYPE |
fillContents
stateBefore
next
NODE_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, simplify
setStateBefore, stateBefore
asNode, next, setNext
asConstant, asJavaConstant, getKind, graph, inferStamp, isAllowedUsageType, isConstant, isConstantPredicate, isNullConstant, setStamp, stamp, updateStamp
acceptInputs, 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, verifyInputs
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
states
public 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)
Virtualizable
virtualize
in interface Virtualizable
tool
- the tool used to describe the effects of this nodeprotected VirtualInstanceNode createVirtualInstanceNode(boolean hasIdentity)
protected ConstantNode defaultFieldValue(ResolvedJavaField field)