public abstract class FloatingAccessNode extends FloatingGuardedNode implements Access, MemoryAccess
Node.ConstantNodeParameter, Node.InjectedNodeParameter, Node.Input, Node.NodeIntrinsic, Node.OptionalInput, Node.Successor, Node.ValueNumberable
HeapAccess.BarrierType
Modifier and Type | Field and Description |
---|---|
(package private) AddressNode |
address |
protected HeapAccess.BarrierType |
barrierType |
protected LocationIdentity |
location |
static NodeClass<FloatingAccessNode> |
TYPE |
guard
NODE_LIST, NOT_ITERABLE, USE_UNSAFE_TO_CLONE, WithAllEdges, WithNoEdges, WithOnlyInputEdges, WithOnlySucessorEdges
Modifier | Constructor and Description |
---|---|
protected |
FloatingAccessNode(NodeClass<? extends FloatingAccessNode> c,
AddressNode address,
LocationIdentity location,
Stamp stamp) |
protected |
FloatingAccessNode(NodeClass<? extends FloatingAccessNode> c,
AddressNode address,
LocationIdentity location,
Stamp stamp,
GuardingNode guard,
HeapAccess.BarrierType barrierType) |
Modifier and Type | Method and Description |
---|---|
abstract FixedAccessNode |
asFixedNode() |
boolean |
canNullCheck() |
AddressNode |
getAddress() |
HeapAccess.BarrierType |
getBarrierType()
Gets the write barrier type for that particular access.
|
LocationIdentity |
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, verify, verifyEdges, verifyInputs
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
asNode, getGuard, setGuard
getLastLocationAccess, setLastLocationAccess
public static final NodeClass<FloatingAccessNode> TYPE
AddressNode address
protected final LocationIdentity location
protected HeapAccess.BarrierType barrierType
protected FloatingAccessNode(NodeClass<? extends FloatingAccessNode> c, AddressNode address, LocationIdentity location, Stamp stamp)
protected FloatingAccessNode(NodeClass<? extends FloatingAccessNode> c, AddressNode address, LocationIdentity location, Stamp stamp, GuardingNode guard, HeapAccess.BarrierType barrierType)
public AddressNode getAddress()
getAddress
in interface Access
public LocationIdentity getLocationIdentity()
getLocationIdentity
in interface Access
getLocationIdentity
in interface MemoryAccess
public HeapAccess.BarrierType getBarrierType()
HeapAccess
getBarrierType
in interface HeapAccess
public boolean canNullCheck()
canNullCheck
in interface Access
public abstract FixedAccessNode asFixedNode()