public class GuardedUnsafeLoadNode extends RawLoadNode implements GuardedNode
Node.ConstantNodeParameter, Node.EdgeVisitor, Node.IndirectCanonicalization, Node.InjectedNodeParameter, Node.Input, Node.NodeInsertionStackTrace, Node.NodeIntrinsic, Node.NodeIntrinsicFactory, Node.OptionalInput, Node.Successor, Node.ValueNumberableCanonicalizable.Binary<T extends Node>, Canonicalizable.BinaryCommutative<T extends Node>, Canonicalizable.Ternary<T extends Node>, Canonicalizable.Unary<T extends Node>MemoryKill.NoLocation| Modifier and Type | Field and Description |
|---|---|
protected GuardingNode |
guard |
static NodeClass<GuardedUnsafeLoadNode> |
TYPE |
accessKind, forceLocation, locationIdentitynextEMPTY_ARRAY, stampNODE_LIST, NOT_ITERABLE, TRACK_CREATION_POSITION, WithAllEdges, WithNoEdges, WithOnlyInputEdges, WithOnlySucessorEdgesMULTI_KILL_NO_LOCATION, NO_LOCATION| Constructor and Description |
|---|
GuardedUnsafeLoadNode(ValueNode object,
ValueNode offset,
JavaKind accessKind,
org.graalvm.word.LocationIdentity locationIdentity,
ValueNode guard) |
GuardedUnsafeLoadNode(ValueNode object,
ValueNode offset,
JavaKind accessKind,
org.graalvm.word.LocationIdentity locationIdentity,
ValueNode guard,
boolean forceLocation) |
GuardedUnsafeLoadNode(ValueNode object,
ValueNode offset,
JavaKind accessKind,
org.graalvm.word.LocationIdentity locationIdentity,
ValueNode guard,
boolean forceLocation,
MemoryOrderMode memoryOrder) |
| Modifier and Type | Method and Description |
|---|---|
protected ValueNode |
cloneAsArrayAccess(ValueNode location,
org.graalvm.word.LocationIdentity identity,
MemoryOrderMode memOrder) |
GuardingNode |
getGuard() |
static Object |
guardedLoad(Object object,
long offset,
JavaKind kind,
org.graalvm.word.LocationIdentity locationIdentity,
GuardingNode guard) |
void |
setGuard(GuardingNode guard) |
canonical, cloneAsFieldAccess, getKilledLocationIdentity, inferStamp, load, virtualizeaccessKind, getLocationIdentity, getMemoryOrder, isCanonicalizable, isLocationForced, object, offsetasFixedWithNextNode, next, setNextasFixedNode, verifyasConstant, asJavaConstant, asNode, asSerializableConstant, checkReplaceAtUsagesInvariants, getStackKind, graph, hasUsagesOtherThan, 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, waitasNodeasMultiMemoryKill, asSingleMemoryKill, isMemoryKill, isMultiMemoryKill, isSingleMemoryKillordersMemoryAccessesgetLastLocationAccess, setLastLocationAccessasFixedNodepublic static final NodeClass<GuardedUnsafeLoadNode> TYPE
protected GuardingNode guard
public GuardedUnsafeLoadNode(ValueNode object, ValueNode offset, JavaKind accessKind, org.graalvm.word.LocationIdentity locationIdentity, ValueNode guard, boolean forceLocation)
public GuardedUnsafeLoadNode(ValueNode object, ValueNode offset, JavaKind accessKind, org.graalvm.word.LocationIdentity locationIdentity, ValueNode guard, boolean forceLocation, MemoryOrderMode memoryOrder)
public GuardingNode getGuard()
getGuard in interface GuardedNodepublic void setGuard(GuardingNode guard)
setGuard in interface GuardedNodeprotected ValueNode cloneAsArrayAccess(ValueNode location, org.graalvm.word.LocationIdentity identity, MemoryOrderMode memOrder)
cloneAsArrayAccess in class RawLoadNodepublic static Object guardedLoad(Object object, long offset, JavaKind kind, org.graalvm.word.LocationIdentity locationIdentity, GuardingNode guard)