public final class UnsafeLoadNode extends UnsafeAccessNode implements Lowerable, Virtualizable
Node.ConstantNodeParameter, Node.InjectedNodeParameter, Node.Input, Node.NodeIntrinsic, Node.OptionalInput, Node.Successor, Node.ValueNumberableCanonicalizable.Binary<T extends Node>, Canonicalizable.BinaryCommutative<T extends Node>, Canonicalizable.Unary<T extends Node>| Modifier and Type | Field and Description |
|---|---|
(package private) LogicNode |
guardingCondition |
static NodeClass<UnsafeLoadNode> |
TYPE |
accessKind, locationIdentity, object, offsetnextNODE_LIST, NOT_ITERABLE, USE_UNSAFE_TO_CLONE, WithAllEdges, WithNoEdges, WithOnlyInputEdges, WithOnlySucessorEdges| Constructor and Description |
|---|
UnsafeLoadNode(ValueNode object,
ValueNode offset,
Kind accessKind,
LocationIdentity locationIdentity) |
UnsafeLoadNode(ValueNode object,
ValueNode offset,
Kind accessKind,
LocationIdentity locationIdentity,
LogicNode condition) |
| Modifier and Type | Method and Description |
|---|---|
protected ValueNode |
cloneAsArrayAccess(ValueNode location,
LocationIdentity identity) |
protected ValueNode |
cloneAsFieldAccess(ResolvedJavaField field) |
LogicNode |
getGuardingCondition() |
static Object |
load(Object object,
long offset,
Kind kind,
LocationIdentity locationIdentity) |
void |
lower(LoweringTool tool)
Expand this node into lower level nodes expressing the same semantics.
|
void |
virtualize(VirtualizerTool tool)
A node class can implement this method to convey information about what its effect would be
if some of its inputs were virtualized.
|
accessKind, canonical, getLocationIdentity, object, offsetasNode, next, setNextasConstant, asJavaConstant, getKind, graph, inferStamp, isAllowedUsageType, isConstant, isConstantPredicate, isNullConstant, setStamp, stamp, updateStampacceptInputs, 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, verifyEdges, verifyInputspublic static final NodeClass<UnsafeLoadNode> TYPE
LogicNode guardingCondition
public UnsafeLoadNode(ValueNode object, ValueNode offset, Kind accessKind, LocationIdentity locationIdentity)
public UnsafeLoadNode(ValueNode object, ValueNode offset, Kind accessKind, LocationIdentity locationIdentity, LogicNode condition)
public LogicNode getGuardingCondition()
public void lower(LoweringTool tool)
Lowerablepublic void virtualize(VirtualizerTool tool)
Virtualizablevirtualize in interface Virtualizabletool - the tool used to describe the effects of this nodeprotected ValueNode cloneAsFieldAccess(ResolvedJavaField field)
cloneAsFieldAccess in class UnsafeAccessNodeprotected ValueNode cloneAsArrayAccess(ValueNode location, LocationIdentity identity)
cloneAsArrayAccess in class UnsafeAccessNodepublic static Object load(Object object, long offset, Kind kind, LocationIdentity locationIdentity)