public abstract class FixedAccessNode extends ImplicitNullCheckNode implements AddressableMemoryAccess, GuardedMemoryAccess, OnHeapMemoryAccess, IterableNodeType
Node.ConstantNodeParameter, Node.EdgeVisitor, Node.IndirectCanonicalization, Node.InjectedNodeParameter, Node.Input, Node.NodeInsertionStackTrace, Node.NodeIntrinsic, Node.NodeIntrinsicFactory, Node.OptionalInput, Node.Successor, Node.ValueNumberableOnHeapMemoryAccess.BarrierTypeDeoptimizingNode.DeoptAfter, DeoptimizingNode.DeoptBefore, DeoptimizingNode.DeoptDuring| Modifier and Type | Field and Description |
|---|---|
protected OnHeapMemoryAccess.BarrierType |
barrierType |
protected GuardingNode |
guard |
protected org.graalvm.word.LocationIdentity |
location |
static NodeClass<FixedAccessNode> |
TYPE |
protected boolean |
usedAsNullCheck |
deoptReasonAndAction, deoptSpeculationstateBeforenextEMPTY_ARRAY, stampNODE_LIST, NOT_ITERABLE, TRACK_CREATION_POSITION, WithAllEdges, WithNoEdges, WithOnlyInputEdges, WithOnlySucessorEdges| Modifier | Constructor and Description |
|---|---|
protected |
FixedAccessNode(NodeClass<? extends FixedAccessNode> c,
AddressNode address,
org.graalvm.word.LocationIdentity location,
Stamp stamp) |
protected |
FixedAccessNode(NodeClass<? extends FixedAccessNode> c,
AddressNode address,
org.graalvm.word.LocationIdentity location,
Stamp stamp,
GuardingNode guard,
OnHeapMemoryAccess.BarrierType barrierType,
boolean usedAsNullCheck,
FrameState stateBefore) |
protected |
FixedAccessNode(NodeClass<? extends FixedAccessNode> c,
AddressNode address,
org.graalvm.word.LocationIdentity location,
Stamp stamp,
OnHeapMemoryAccess.BarrierType barrierType) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
canDeoptimize()
Determines if this node needs deoptimization information.
|
AddressNode |
getAddress() |
OnHeapMemoryAccess.BarrierType |
getBarrierType()
Gets the write barrier type for that particular access.
|
GuardingNode |
getGuard() |
MemoryKill |
getLastLocationAccess() |
org.graalvm.word.LocationIdentity |
getLocationIdentity() |
boolean |
getUsedAsNullCheck() |
void |
setAddress(AddressNode address) |
void |
setGuard(GuardingNode guard) |
void |
setLastLocationAccess(MemoryKill lla) |
void |
setUsedAsNullCheck(boolean check) |
getDeoptReasonAndAction, getDeoptSpeculation, setImplicitDeoptimizationsetStateBefore, stateBeforeasFixedWithNextNode, next, setNextasFixedNode, verifyasConstant, 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, verifyEdges, verifyInputs, verifySourcePosition, withNodeSourcePositionclone, equals, getClass, notify, notifyAll, wait, wait, waitcanNullCheckasNodecanUseAsStateDuringstatesasFixedNodepublic static final NodeClass<FixedAccessNode> TYPE
protected GuardingNode guard
protected final org.graalvm.word.LocationIdentity location
protected boolean usedAsNullCheck
protected OnHeapMemoryAccess.BarrierType barrierType
protected FixedAccessNode(NodeClass<? extends FixedAccessNode> c, AddressNode address, org.graalvm.word.LocationIdentity location, Stamp stamp)
protected FixedAccessNode(NodeClass<? extends FixedAccessNode> c, AddressNode address, org.graalvm.word.LocationIdentity location, Stamp stamp, OnHeapMemoryAccess.BarrierType barrierType)
protected FixedAccessNode(NodeClass<? extends FixedAccessNode> c, AddressNode address, org.graalvm.word.LocationIdentity location, Stamp stamp, GuardingNode guard, OnHeapMemoryAccess.BarrierType barrierType, boolean usedAsNullCheck, FrameState stateBefore)
public AddressNode getAddress()
getAddress in interface AddressableMemoryAccesspublic void setAddress(AddressNode address)
setAddress in interface AddressableMemoryAccesspublic org.graalvm.word.LocationIdentity getLocationIdentity()
getLocationIdentity in interface MemoryAccesspublic boolean getUsedAsNullCheck()
public void setUsedAsNullCheck(boolean check)
public boolean canDeoptimize()
DeoptimizingNodecanDeoptimize in interface DeoptimizingNodepublic GuardingNode getGuard()
getGuard in interface GuardedNodepublic void setGuard(GuardingNode guard)
setGuard in interface GuardedNodepublic MemoryKill getLastLocationAccess()
getLastLocationAccess in interface MemoryAccesspublic void setLastLocationAccess(MemoryKill lla)
setLastLocationAccess in interface MemoryAccesslla - the MemoryKill that represents the last kill of the
LocationIdentity returned by MemoryAccess.getLocationIdentity()public OnHeapMemoryAccess.BarrierType getBarrierType()
OnHeapMemoryAccessgetBarrierType in interface OnHeapMemoryAccess