public final class CommitAllocationNode extends FixedWithNextNode implements VirtualizableAllocation, Lowerable, Simplifiable
Node.ConstantNodeParameter, Node.InjectedNodeParameter, Node.Input, Node.NodeIntrinsic, Node.OptionalInput, Node.Successor, Node.ValueNumberable
Modifier and Type | Field and Description |
---|---|
protected ArrayList<Boolean> |
ensureVirtual |
protected ArrayList<Integer> |
lockIndexes |
(package private) NodeInputList<MonitorIdNode> |
locks |
static NodeClass<CommitAllocationNode> |
TYPE |
(package private) NodeInputList<ValueNode> |
values |
(package private) NodeInputList<VirtualObjectNode> |
virtualObjects |
next
NODE_LIST, NOT_ITERABLE, USE_UNSAFE_TO_CLONE, WithAllEdges, WithNoEdges, WithOnlyInputEdges, WithOnlySucessorEdges
Constructor and Description |
---|
CommitAllocationNode() |
Modifier and Type | Method and Description |
---|---|
void |
addLocks(List<MonitorIdNode> monitorIds) |
void |
afterClone(Node other) |
Map<Object,Object> |
getDebugProperties(Map<Object,Object> map)
Fills a
Map with properties of this node for use in debugging (e.g., to view in the
ideal graph visualizer). |
List<Boolean> |
getEnsureVirtual() |
List<MonitorIdNode> |
getLocks(int objIndex) |
List<ValueNode> |
getValues() |
List<VirtualObjectNode> |
getVirtualObjects() |
void |
lower(LoweringTool tool)
Expand this node into lower level nodes expressing the same semantics.
|
void |
simplify(SimplifierTool tool)
Must be overridden by subclasses that implement
Simplifiable . |
boolean |
verify() |
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.
|
asNode, next, setNext
asConstant, asJavaConstant, getKind, graph, inferStamp, isAllowedUsageType, isConstant, isConstantPredicate, isNullConstant, setStamp, stamp, updateStamp
acceptInputs, acceptSuccessors, assertFalse, assertTrue, cfgPredecessors, cfgSuccessors, clearInputs, clearSuccessors, copyWithInputs, copyWithInputs, equals, fail, formatTo, 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
public static final NodeClass<CommitAllocationNode> TYPE
NodeInputList<VirtualObjectNode> virtualObjects
NodeInputList<ValueNode> values
NodeInputList<MonitorIdNode> locks
protected ArrayList<Integer> lockIndexes
protected ArrayList<Boolean> ensureVirtual
public CommitAllocationNode()
public List<VirtualObjectNode> getVirtualObjects()
public List<MonitorIdNode> getLocks(int objIndex)
public List<Boolean> getEnsureVirtual()
public void lower(LoweringTool tool)
Lowerable
public void afterClone(Node other)
afterClone
in class Node
public void addLocks(List<MonitorIdNode> monitorIds)
public void virtualize(VirtualizerTool tool)
Virtualizable
virtualize
in interface Virtualizable
tool
- the tool used to describe the effects of this nodepublic Map<Object,Object> getDebugProperties(Map<Object,Object> map)
Node
Map
with properties of this node for use in debugging (e.g., to view in the
ideal graph visualizer). Subclasses overriding this method should also fill the map using
their superclass.getDebugProperties
in class Node
public void simplify(SimplifierTool tool)
Node
Simplifiable
. The implementation in
Node
exists to obviate the need to cast a node before invoking
Simplifiable.simplify(SimplifierTool)
.simplify
in interface Simplifiable
simplify
in class Node