public final class FloatingReadNode extends FloatingAccessNode implements LIRLowerable, Canonicalizable
Node.ConstantNodeParameter, Node.InjectedNodeParameter, Node.Input, Node.NodeIntrinsic, Node.OptionalInput, Node.Successor, Node.ValueNumberable
Canonicalizable.Binary<T extends Node>, Canonicalizable.BinaryCommutative<T extends Node>, Canonicalizable.Unary<T extends Node>
HeapAccess.BarrierType
Modifier and Type | Field and Description |
---|---|
(package private) MemoryNode |
lastLocationAccess |
static NodeClass<FloatingReadNode> |
TYPE |
address, barrierType, location
guard
NODE_LIST, NOT_ITERABLE, USE_UNSAFE_TO_CLONE, WithAllEdges, WithNoEdges, WithOnlyInputEdges, WithOnlySucessorEdges
Constructor and Description |
---|
FloatingReadNode(AddressNode address,
jdk.internal.jvmci.meta.LocationIdentity location,
MemoryNode lastLocationAccess,
Stamp stamp) |
FloatingReadNode(AddressNode address,
jdk.internal.jvmci.meta.LocationIdentity location,
MemoryNode lastLocationAccess,
Stamp stamp,
GuardingNode guard) |
FloatingReadNode(AddressNode address,
jdk.internal.jvmci.meta.LocationIdentity location,
MemoryNode lastLocationAccess,
Stamp stamp,
GuardingNode guard,
HeapAccess.BarrierType barrierType) |
Modifier and Type | Method and Description |
---|---|
FixedAccessNode |
asFixedNode() |
Node |
canonical(CanonicalizerTool tool) |
void |
generate(NodeLIRBuilderTool gen) |
MemoryNode |
getLastLocationAccess() |
void |
setLastLocationAccess(MemoryNode newlla) |
boolean |
verify() |
canNullCheck, getAddress, getBarrierType, getLocationIdentity
getGuard, setGuard
asNode
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, simplify, successors, toString, toString, updatePredecessor, updateUsages, updateUsagesInterface, usages, valueEquals, verifyEdges, verifyInputs
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
asNode, getGuard, setGuard
public static final NodeClass<FloatingReadNode> TYPE
MemoryNode lastLocationAccess
public FloatingReadNode(AddressNode address, jdk.internal.jvmci.meta.LocationIdentity location, MemoryNode lastLocationAccess, Stamp stamp)
public FloatingReadNode(AddressNode address, jdk.internal.jvmci.meta.LocationIdentity location, MemoryNode lastLocationAccess, Stamp stamp, GuardingNode guard)
public FloatingReadNode(AddressNode address, jdk.internal.jvmci.meta.LocationIdentity location, MemoryNode lastLocationAccess, Stamp stamp, GuardingNode guard, HeapAccess.BarrierType barrierType)
public MemoryNode getLastLocationAccess()
getLastLocationAccess
in interface MemoryAccess
public void setLastLocationAccess(MemoryNode newlla)
setLastLocationAccess
in interface MemoryAccess
newlla
- the MemoryNode
that represents the last kill of the locationpublic void generate(NodeLIRBuilderTool gen)
generate
in interface LIRLowerable
public Node canonical(CanonicalizerTool tool)
canonical
in interface Canonicalizable
public FixedAccessNode asFixedNode()
asFixedNode
in class FloatingAccessNode