public class OrderedReadNode extends ReadNode
Node.ConstantNodeParameter, Node.EdgeVisitor, Node.IndirectCanonicalization, Node.InjectedNodeParameter, Node.Input, Node.NodeInsertionStackTrace, Node.NodeIntrinsic, Node.NodeIntrinsicFactory, Node.OptionalInput, Node.Successor, Node.ValueNumberableCanonicalizable.Binary<T extends Node>, Canonicalizable.BinaryCommutative<T extends Node>, Canonicalizable.Ternary<T extends Node>, Canonicalizable.Unary<T extends Node>MemoryKill.NoLocationOnHeapMemoryAccess.BarrierTypeDeoptimizingNode.DeoptAfter, DeoptimizingNode.DeoptBefore, DeoptimizingNode.DeoptDuring| Modifier and Type | Field and Description |
|---|---|
static NodeClass<OrderedReadNode> |
TYPE |
forceFixedbarrierType, guard, location, usedAsNullCheckdeoptReasonAndAction, deoptSpeculationstateBeforenextEMPTY_ARRAY, stampNODE_LIST, NOT_ITERABLE, TRACK_CREATION_POSITION, WithAllEdges, WithNoEdges, WithOnlyInputEdges, WithOnlySucessorEdgesMULTI_KILL_NO_LOCATION, NO_LOCATION| Constructor and Description |
|---|
OrderedReadNode(AddressNode address,
Stamp stamp,
OnHeapMemoryAccess.BarrierType barrierType,
MemoryOrderMode memoryOrder) |
| Modifier and Type | Method and Description |
|---|---|
FloatingAccessNode |
asFloatingNode() |
boolean |
canFloat()
AccessNodes can float only if their location identities are not ANY_LOCATION.
|
void |
generate(NodeLIRBuilderTool gen) |
MemoryOrderMode |
getMemoryOrder()
Retrieves the node's required memory ordering.
|
canNullCheck, canonical, canonicalizeRead, canonicalizeRead, canonicalizeRead, getAccessStamp, getKilledLocationIdentity, isAllowedUsageType, virtualizesetForceFixedcanDeoptimize, 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, setLastLocationAccessasNodeordersMemoryAccessesasMultiMemoryKill, asSingleMemoryKill, isMemoryKill, isMultiMemoryKill, isSingleMemoryKillcanUseAsStateDuringstatesasFixedNodepublic static final NodeClass<OrderedReadNode> TYPE
public OrderedReadNode(AddressNode address, Stamp stamp, OnHeapMemoryAccess.BarrierType barrierType, MemoryOrderMode memoryOrder)
public void generate(NodeLIRBuilderTool gen)
generate in interface LIRLowerablegenerate in class ReadNodepublic FloatingAccessNode asFloatingNode()
asFloatingNode in class ReadNodepublic boolean canFloat()
FloatableAccessNodecanFloat in class FloatableAccessNodepublic MemoryOrderMode getMemoryOrder()
OrderedMemoryAccessgetMemoryOrder in interface OrderedMemoryAccessgetMemoryOrder in class ReadNode