public final class RawMonitorEnterNode extends AccessMonitorNode implements Virtualizable, Lowerable, IterableNodeType, MonitorEnter, MemoryCheckpoint.Single
MonitorEnterNode represents the acquisition of a monitor. The object needs already be
non-null and the hub is an additional parameter to the node.Node.ConstantNodeParameter, Node.InjectedNodeParameter, Node.Input, Node.NodeIntrinsic, Node.OptionalInput, Node.Successor, Node.ValueNumberableMemoryCheckpoint.Multi, MemoryCheckpoint.Single, MemoryCheckpoint.TypeAssertionDeoptimizingNode.DeoptAfter, DeoptimizingNode.DeoptBefore, DeoptimizingNode.DeoptDuring| Modifier and Type | Field and Description |
|---|---|
(package private) ValueNode |
hub |
static NodeClass<RawMonitorEnterNode> |
TYPE |
monitorId, object, stateBeforestateAfternextNODE_LIST, NOT_ITERABLE, USE_UNSAFE_TO_CLONE, WithAllEdges, WithNoEdges, WithOnlyInputEdges, WithOnlySucessorEdges| Constructor and Description |
|---|
RawMonitorEnterNode(ValueNode object,
ValueNode hub,
MonitorIdNode monitorId) |
| Modifier and Type | Method and Description |
|---|---|
ValueNode |
getHub() |
LocationIdentity |
getLocationIdentity()
This method is used to determine which memory location is killed by this node.
|
void |
lower(LoweringTool tool)
Expand this node into lower level nodes expressing the same semantics.
|
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, getMonitorId, object, setStateBefore, stateBeforehasSideEffect, setStateAfter, stateAfterasNode, 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, simplify, successors, toString, toString, updatePredecessor, updateUsages, updateUsagesInterface, usages, valueEquals, verifyEdges, verifyInputsclone, finalize, getClass, notify, notifyAll, wait, wait, waithasSideEffect, setStateAfter, stateAfterstatespublic static final NodeClass<RawMonitorEnterNode> TYPE
public RawMonitorEnterNode(ValueNode object, ValueNode hub, MonitorIdNode monitorId)
public LocationIdentity getLocationIdentity()
MemoryCheckpoint.SingleLocationIdentity.any() will kill all memory locations.getLocationIdentity in interface MemoryCheckpoint.Singlepublic void lower(LoweringTool tool)
Lowerablepublic void virtualize(VirtualizerTool tool)
Virtualizablevirtualize in interface Virtualizabletool - the tool used to describe the effects of this node