public abstract class FloatableAccessNode extends FixedAccessNode
FixedAccessNode
that can be converted to a FloatingAccessNode
.Node.ConstantNodeParameter, Node.EdgeVisitor, Node.IndirectCanonicalization, Node.InjectedNodeParameter, Node.Input, Node.NodeInsertionStackTrace, Node.NodeIntrinsic, Node.NodeIntrinsicFactory, Node.OptionalInput, Node.Successor, Node.ValueNumberable
OnHeapMemoryAccess.BarrierType
DeoptimizingNode.DeoptAfter, DeoptimizingNode.DeoptBefore, DeoptimizingNode.DeoptDuring
Modifier and Type | Field and Description |
---|---|
protected boolean |
forceFixed |
static NodeClass<FloatableAccessNode> |
TYPE |
barrierType, guard, location, usedAsNullCheck
deoptReasonAndAction, deoptSpeculation
stateBefore
next
EMPTY_ARRAY, stamp
NODE_LIST, NOT_ITERABLE, TRACK_CREATION_POSITION, WithAllEdges, WithNoEdges, WithOnlyInputEdges, WithOnlySucessorEdges
Modifier | Constructor and Description |
---|---|
protected |
FloatableAccessNode(NodeClass<? extends FloatableAccessNode> c,
AddressNode address,
org.graalvm.word.LocationIdentity location,
Stamp stamp) |
protected |
FloatableAccessNode(NodeClass<? extends FloatableAccessNode> c,
AddressNode address,
org.graalvm.word.LocationIdentity location,
Stamp stamp,
GuardingNode guard,
OnHeapMemoryAccess.BarrierType barrierType) |
protected |
FloatableAccessNode(NodeClass<? extends FloatableAccessNode> c,
AddressNode address,
org.graalvm.word.LocationIdentity location,
Stamp stamp,
GuardingNode guard,
OnHeapMemoryAccess.BarrierType barrierType,
boolean usedAsNullCheck,
FrameState stateBefore) |
Modifier and Type | Method and Description |
---|---|
abstract FloatingAccessNode |
asFloatingNode() |
boolean |
canFloat()
AccessNodes can float only if their location identities are not ANY_LOCATION.
|
void |
setForceFixed(boolean flag) |
canDeoptimize, getAddress, getBarrierType, getGuard, getLastLocationAccess, getLocationIdentity, getUsedAsNullCheck, setAddress, setGuard, setLastLocationAccess, setUsedAsNullCheck
getDeoptReasonAndAction, getDeoptSpeculation, setImplicitDeoptimization
setStateBefore, stateBefore
asFixedWithNextNode, next, setNext
asFixedNode, verify
asConstant, asJavaConstant, asNode, asSerializableConstant, checkReplaceAtUsagesInvariants, getStackKind, graph, hasUsagesOtherThan, inferStamp, isAllowedUsageType, isConstant, isConstantPredicate, isDefaultConstant, isIllegalConstant, isJavaConstant, isNullConstant, isSerializableConstant, recursivelyDataFlowEqualsUpTo, setStamp, stamp, updateStamp, updateUsagesInterface
afterClone, 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, hasExactlyOneUsageOfType, 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, withNodeSourcePosition
clone, equals, getClass, notify, notifyAll, wait, wait, wait
canNullCheck
asNode
canUseAsStateDuring
validateDeoptFrameStates
states
asFixedNode
public static final NodeClass<FloatableAccessNode> TYPE
protected boolean forceFixed
protected FloatableAccessNode(NodeClass<? extends FloatableAccessNode> c, AddressNode address, org.graalvm.word.LocationIdentity location, Stamp stamp)
protected FloatableAccessNode(NodeClass<? extends FloatableAccessNode> c, AddressNode address, org.graalvm.word.LocationIdentity location, Stamp stamp, GuardingNode guard, OnHeapMemoryAccess.BarrierType barrierType)
protected FloatableAccessNode(NodeClass<? extends FloatableAccessNode> c, AddressNode address, org.graalvm.word.LocationIdentity location, Stamp stamp, GuardingNode guard, OnHeapMemoryAccess.BarrierType barrierType, boolean usedAsNullCheck, FrameState stateBefore)
public abstract FloatingAccessNode asFloatingNode()
public void setForceFixed(boolean flag)
public boolean canFloat()