public abstract class FixedAccessNode extends DeoptimizingFixedWithNextNode implements Access
Node.ConstantNodeParameter, Node.InjectedNodeParameter, Node.Input, Node.NodeIntrinsic, Node.OptionalInput, Node.Successor, Node.ValueNumberableHeapAccess.BarrierTypeDeoptimizingNode.DeoptAfter, DeoptimizingNode.DeoptBefore, DeoptimizingNode.DeoptDuring| Modifier and Type | Field and Description |
|---|---|
(package private) AddressNode |
address |
protected HeapAccess.BarrierType |
barrierType |
protected GuardingNode |
guard |
protected LocationIdentity |
location |
protected boolean |
nullCheck |
static NodeClass<FixedAccessNode> |
TYPE |
stateBeforenextNODE_LIST, NOT_ITERABLE, USE_UNSAFE_TO_CLONE, WithAllEdges, WithNoEdges, WithOnlyInputEdges, WithOnlySucessorEdges| Modifier | Constructor and Description |
|---|---|
protected |
FixedAccessNode(NodeClass<? extends FixedAccessNode> c,
AddressNode address,
LocationIdentity location,
Stamp stamp) |
protected |
FixedAccessNode(NodeClass<? extends FixedAccessNode> c,
AddressNode address,
LocationIdentity location,
Stamp stamp,
GuardingNode guard,
HeapAccess.BarrierType barrierType,
boolean nullCheck,
FrameState stateBefore) |
protected |
FixedAccessNode(NodeClass<? extends FixedAccessNode> c,
AddressNode address,
LocationIdentity location,
Stamp stamp,
HeapAccess.BarrierType barrierType) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
canDeoptimize()
Determines if this node needs deoptimization information.
|
AddressNode |
getAddress() |
HeapAccess.BarrierType |
getBarrierType()
Gets the write barrier type for that particular access.
|
GuardingNode |
getGuard() |
LocationIdentity |
getLocationIdentity() |
boolean |
getNullCheck() |
void |
setAddress(AddressNode address) |
void |
setGuard(GuardingNode guard) |
void |
setNullCheck(boolean check) |
setStateBefore, stateBeforeasNode, 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, verifyInputsclone, finalize, getClass, notify, notifyAll, wait, wait, waitcanNullCheckasNodestatespublic static final NodeClass<FixedAccessNode> TYPE
protected GuardingNode guard
AddressNode address
protected final LocationIdentity location
protected boolean nullCheck
protected HeapAccess.BarrierType barrierType
protected FixedAccessNode(NodeClass<? extends FixedAccessNode> c, AddressNode address, LocationIdentity location, Stamp stamp)
protected FixedAccessNode(NodeClass<? extends FixedAccessNode> c, AddressNode address, LocationIdentity location, Stamp stamp, HeapAccess.BarrierType barrierType)
protected FixedAccessNode(NodeClass<? extends FixedAccessNode> c, AddressNode address, LocationIdentity location, Stamp stamp, GuardingNode guard, HeapAccess.BarrierType barrierType, boolean nullCheck, FrameState stateBefore)
public AddressNode getAddress()
getAddress in interface Accesspublic void setAddress(AddressNode address)
public LocationIdentity getLocationIdentity()
getLocationIdentity in interface Accesspublic boolean getNullCheck()
public void setNullCheck(boolean check)
public boolean canDeoptimize()
DeoptimizingNodecanDeoptimize in interface DeoptimizingNodepublic GuardingNode getGuard()
getGuard in interface GuardedNodepublic void setGuard(GuardingNode guard)
setGuard in interface GuardedNodepublic HeapAccess.BarrierType getBarrierType()
HeapAccessgetBarrierType in interface HeapAccess