public abstract class FixedAccessNode extends DeoptimizingFixedWithNextNode implements Access
Node.ConstantNodeParameter, Node.InjectedNodeParameter, Node.Input, Node.NodeIntrinsic, Node.OptionalInput, Node.Successor, Node.ValueNumberable
HeapAccess.BarrierType
DeoptimizingNode.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 |
stateBefore
next
NODE_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, stateBefore
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
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
canNullCheck
asNode
states
public 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 Access
public void setAddress(AddressNode address)
public LocationIdentity getLocationIdentity()
getLocationIdentity
in interface Access
public boolean getNullCheck()
public void setNullCheck(boolean check)
public boolean canDeoptimize()
DeoptimizingNode
canDeoptimize
in interface DeoptimizingNode
public GuardingNode getGuard()
getGuard
in interface GuardedNode
public void setGuard(GuardingNode guard)
setGuard
in interface GuardedNode
public HeapAccess.BarrierType getBarrierType()
HeapAccess
getBarrierType
in interface HeapAccess