public abstract class FloatingAccessNode extends FloatingGuardedNode implements AddressableMemoryAccess, GuardedMemoryAccess, OnHeapMemoryAccess
Node.ConstantNodeParameter, Node.EdgeVisitor, Node.IndirectCanonicalization, Node.InjectedNodeParameter, Node.Input, Node.NodeInsertionStackTrace, Node.NodeIntrinsic, Node.NodeIntrinsicFactory, Node.OptionalInput, Node.Successor, Node.ValueNumberable
OnHeapMemoryAccess.BarrierType
Modifier and Type | Field and Description |
---|---|
protected OnHeapMemoryAccess.BarrierType |
barrierType |
protected org.graalvm.word.LocationIdentity |
location |
static NodeClass<FloatingAccessNode> |
TYPE |
guard
EMPTY_ARRAY, stamp
NODE_LIST, NOT_ITERABLE, TRACK_CREATION_POSITION, WithAllEdges, WithNoEdges, WithOnlyInputEdges, WithOnlySucessorEdges
Modifier | Constructor and Description |
---|---|
protected |
FloatingAccessNode(NodeClass<? extends FloatingAccessNode> c,
AddressNode address,
org.graalvm.word.LocationIdentity location,
Stamp stamp) |
protected |
FloatingAccessNode(NodeClass<? extends FloatingAccessNode> c,
AddressNode address,
org.graalvm.word.LocationIdentity location,
Stamp stamp,
GuardingNode guard,
OnHeapMemoryAccess.BarrierType barrierType) |
Modifier and Type | Method and Description |
---|---|
abstract FixedAccessNode |
asFixedNode() |
boolean |
canNullCheck()
Determines if the memory touch operation represented by this node can use OS level semantics
for representing the null check of the memory location with an operating system level trap.
|
AddressNode |
getAddress() |
OnHeapMemoryAccess.BarrierType |
getBarrierType()
Gets the write barrier type for that particular access.
|
org.graalvm.word.LocationIdentity |
getLocationIdentity() |
void |
setAddress(AddressNode address) |
getGuard, setGuard
asConstant, asJavaConstant, asNode, asSerializableConstant, checkReplaceAtUsagesInvariants, getStackKind, graph, hasUsagesOtherThan, inferStamp, isAllowedUsageType, isConstant, isConstantPredicate, isDefaultConstant, isIllegalConstant, isJavaConstant, isNullConstant, isSerializableConstant, recursivelyDataFlowEqualsUpTo, setStamp, stamp, updateStamp, updateUsagesInterface
afterClone, 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, hasExactlyOneUsageOfType, 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, verify, verifyEdges, verifyInputs, verifySourcePosition, withNodeSourcePosition
clone, equals, getClass, notify, notifyAll, wait, wait, wait
getGuard, setGuard
getLastLocationAccess, setLastLocationAccess
asNode
public static final NodeClass<FloatingAccessNode> TYPE
protected final org.graalvm.word.LocationIdentity location
protected OnHeapMemoryAccess.BarrierType barrierType
protected FloatingAccessNode(NodeClass<? extends FloatingAccessNode> c, AddressNode address, org.graalvm.word.LocationIdentity location, Stamp stamp)
protected FloatingAccessNode(NodeClass<? extends FloatingAccessNode> c, AddressNode address, org.graalvm.word.LocationIdentity location, Stamp stamp, GuardingNode guard, OnHeapMemoryAccess.BarrierType barrierType)
public AddressNode getAddress()
getAddress
in interface AddressableMemoryAccess
public void setAddress(AddressNode address)
setAddress
in interface AddressableMemoryAccess
public org.graalvm.word.LocationIdentity getLocationIdentity()
getLocationIdentity
in interface MemoryAccess
public OnHeapMemoryAccess.BarrierType getBarrierType()
OnHeapMemoryAccess
getBarrierType
in interface OnHeapMemoryAccess
public boolean canNullCheck()
AddressableMemoryAccess
canNullCheck
in interface AddressableMemoryAccess
public abstract FixedAccessNode asFixedNode()