public class OrderedWriteNode extends WriteNode
Node.ConstantNodeParameter, Node.EdgeVisitor, Node.IndirectCanonicalization, Node.InjectedNodeParameter, Node.Input, Node.NodeInsertionStackTrace, Node.NodeIntrinsic, Node.NodeIntrinsicFactory, Node.OptionalInput, Node.Successor, Node.ValueNumberableMemoryKill.NoLocationOnHeapMemoryAccess.BarrierTypeDeoptimizingNode.DeoptAfter, DeoptimizingNode.DeoptBefore, DeoptimizingNode.DeoptDuring| Modifier and Type | Field and Description |
|---|---|
static NodeClass<OrderedWriteNode> |
TYPE |
barrierType, guard, location, usedAsNullCheckdeoptReasonAndAction, deoptSpeculationstateBeforenextEMPTY_ARRAY, stampNODE_LIST, NOT_ITERABLE, TRACK_CREATION_POSITION, WithAllEdges, WithNoEdges, WithOnlyInputEdges, WithOnlySucessorEdgesMULTI_KILL_NO_LOCATION, NO_LOCATION| Constructor and Description |
|---|
OrderedWriteNode(AddressNode address,
org.graalvm.word.LocationIdentity location,
ValueNode value,
OnHeapMemoryAccess.BarrierType barrierType,
MemoryOrderMode memoryOrder) |
| Modifier and Type | Method and Description |
|---|---|
void |
generate(NodeLIRBuilderTool gen) |
MemoryOrderMode |
getMemoryOrder()
Retrieves the node's required memory ordering.
|
boolean |
hasSideEffect()
Determines if this node has a side-effect.
|
void |
simplify(SimplifierTool tool) |
canNullCheck, getAccessStamp, getKilledLocationIdentityisAllowedUsageType, setStateAfter, setValue, stateAfter, valuecanDeoptimize, getAddress, getBarrierType, getGuard, getLastLocationAccess, getLocationIdentity, getUsedAsNullCheck, setAddress, setGuard, setLastLocationAccess, setUsedAsNullCheckgetDeoptReasonAndAction, getDeoptSpeculation, setImplicitDeoptimizationsetStateBefore, stateBeforeasFixedWithNextNode, next, setNextasFixedNode, verifyasConstant, asJavaConstant, asNode, asSerializableConstant, checkReplaceAtUsagesInvariants, getStackKind, graph, hasUsagesOtherThan, inferStamp, isConstant, isConstantPredicate, isDefaultConstant, isIllegalConstant, isJavaConstant, isNullConstant, isSerializableConstant, recursivelyDataFlowEqualsUpTo, setStamp, stamp, updateStamp, updateUsagesInterfaceafterClone, applyInputs, applySuccessors, assertFalse, assertTrue, cfgPredecessors, cfgSuccessors, clearInputs, clearNodeSourcePosition, clearSuccessors, copyWithInputs, copyWithInputs, dataFlowEquals, dynamicNodeSizeEstimate, estimatedNodeCycles, estimatedNodeSize, fail, formatTo, getCreationPosition, getDebug, getDebugProperties, getDebugProperties, getInsertionPosition, getNodeClass, getNodeSourcePosition, getOptions, getUsageCount, hasExactlyOneUsage, hashCode, hasMoreThanOneUsage, hasNoUsages, hasOnlyUsagesOfType, hasUsages, hasUsagesOfType, inputPositions, inputs, isAlive, isDeleted, isUnregistered, markDeleted, maybeNotifyZeroUsages, modCount, predecessor, pushInputs, removeUsage, replaceAllInputs, replaceAndDelete, replaceAtAllUsages, replaceAtMatchingUsages, replaceAtPredecessor, replaceAtUsages, replaceAtUsages, replaceAtUsages, replaceAtUsages, replaceAtUsages, replaceAtUsagesAndDelete, replaceAtUsagesAndDelete, replaceFirstInput, replaceFirstSuccessor, safeDelete, setCreationPosition, setInsertionPosition, setNodeSourcePosition, singleUsage, successorPositions, successors, toString, toString, updateNodeSourcePosition, updatePredecessor, updateUsages, usages, valueEquals, verifyEdges, verifyInputs, verifySourcePosition, withNodeSourcePositionclone, equals, getClass, notify, notifyAll, wait, wait, waitgetAddress, setAddressgetLastLocationAccess, getLocationIdentity, setLastLocationAccessasNodestatesasFixedNodeasMultiMemoryKill, asSingleMemoryKill, isMemoryKill, isMultiMemoryKill, isSingleMemoryKillordersMemoryAccessescanUseAsStateDuringpublic static final NodeClass<OrderedWriteNode> TYPE
public OrderedWriteNode(AddressNode address, org.graalvm.word.LocationIdentity location, ValueNode value, OnHeapMemoryAccess.BarrierType barrierType, MemoryOrderMode memoryOrder)
public void generate(NodeLIRBuilderTool gen)
generate in interface LIRLowerablegenerate in class WriteNodepublic boolean hasSideEffect()
StateSplitFrameState nodes.hasSideEffect in interface StateSplithasSideEffect in class WriteNodepublic MemoryOrderMode getMemoryOrder()
OrderedMemoryAccessgetMemoryOrder in interface OrderedMemoryAccessgetMemoryOrder in class WriteNodepublic void simplify(SimplifierTool tool)
simplify in interface Simplifiablesimplify in class WriteNode