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.ValueNumberableOnHeapMemoryAccess.BarrierType| Modifier and Type | Field and Description |
|---|---|
protected OnHeapMemoryAccess.BarrierType |
barrierType |
protected org.graalvm.word.LocationIdentity |
location |
static NodeClass<FloatingAccessNode> |
TYPE |
guardEMPTY_ARRAY, stampNODE_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, setGuardasConstant, asJavaConstant, asNode, asSerializableConstant, checkReplaceAtUsagesInvariants, getStackKind, graph, hasUsagesOtherThan, inferStamp, isAllowedUsageType, 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, verify, verifyEdges, verifyInputs, verifySourcePosition, withNodeSourcePositionclone, equals, getClass, notify, notifyAll, wait, wait, waitgetGuard, setGuardgetLastLocationAccess, setLastLocationAccessasNodepublic 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 AddressableMemoryAccesspublic void setAddress(AddressNode address)
setAddress in interface AddressableMemoryAccesspublic org.graalvm.word.LocationIdentity getLocationIdentity()
getLocationIdentity in interface MemoryAccesspublic OnHeapMemoryAccess.BarrierType getBarrierType()
OnHeapMemoryAccessgetBarrierType in interface OnHeapMemoryAccesspublic boolean canNullCheck()
AddressableMemoryAccesscanNullCheck in interface AddressableMemoryAccesspublic abstract FixedAccessNode asFixedNode()