public abstract class UnsafeAccessNode extends FixedWithNextNode implements Canonicalizable
Node.ConstantNodeParameter, Node.InjectedNodeParameter, Node.Input, Node.NodeIntrinsic, Node.OptionalInput, Node.Successor, Node.ValueNumberable
Canonicalizable.Binary<T extends Node>, Canonicalizable.BinaryCommutative<T extends Node>, Canonicalizable.Unary<T extends Node>
Modifier and Type | Field and Description |
---|---|
protected jdk.internal.jvmci.meta.Kind |
accessKind |
protected jdk.internal.jvmci.meta.LocationIdentity |
locationIdentity |
(package private) ValueNode |
object |
(package private) ValueNode |
offset |
static NodeClass<UnsafeAccessNode> |
TYPE |
next
NODE_LIST, NOT_ITERABLE, USE_UNSAFE_TO_CLONE, WithAllEdges, WithNoEdges, WithOnlyInputEdges, WithOnlySucessorEdges
Modifier | Constructor and Description |
---|---|
protected |
UnsafeAccessNode(NodeClass<? extends UnsafeAccessNode> c,
Stamp stamp,
ValueNode object,
ValueNode offset,
jdk.internal.jvmci.meta.Kind accessKind,
jdk.internal.jvmci.meta.LocationIdentity locationIdentity) |
Modifier and Type | Method and Description |
---|---|
jdk.internal.jvmci.meta.Kind |
accessKind() |
Node |
canonical(CanonicalizerTool tool) |
protected abstract ValueNode |
cloneAsArrayAccess(ValueNode location,
jdk.internal.jvmci.meta.LocationIdentity identity) |
protected abstract ValueNode |
cloneAsFieldAccess(jdk.internal.jvmci.meta.ResolvedJavaField field) |
jdk.internal.jvmci.meta.LocationIdentity |
getLocationIdentity() |
ValueNode |
object() |
ValueNode |
offset() |
asNode, next, setNext
asConstant, asJavaConstant, getKind, graph, inferStamp, isAllowedUsageType, isConstant, isConstantPredicate, isNullConstant, setStamp, stamp, updateStamp
acceptInputs, 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, verifyInputs
public static final NodeClass<UnsafeAccessNode> TYPE
protected final jdk.internal.jvmci.meta.Kind accessKind
protected final jdk.internal.jvmci.meta.LocationIdentity locationIdentity
protected UnsafeAccessNode(NodeClass<? extends UnsafeAccessNode> c, Stamp stamp, ValueNode object, ValueNode offset, jdk.internal.jvmci.meta.Kind accessKind, jdk.internal.jvmci.meta.LocationIdentity locationIdentity)
public jdk.internal.jvmci.meta.LocationIdentity getLocationIdentity()
public jdk.internal.jvmci.meta.Kind accessKind()
public Node canonical(CanonicalizerTool tool)
canonical
in interface Canonicalizable
protected abstract ValueNode cloneAsFieldAccess(jdk.internal.jvmci.meta.ResolvedJavaField field)
protected abstract ValueNode cloneAsArrayAccess(ValueNode location, jdk.internal.jvmci.meta.LocationIdentity identity)