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.ValueNumberableOnHeapMemoryAccess.BarrierTypeDeoptimizingNode.DeoptAfter, DeoptimizingNode.DeoptBefore, DeoptimizingNode.DeoptDuring| Modifier and Type | Field and Description |
|---|---|
protected boolean |
forceFixed |
static NodeClass<FloatableAccessNode> |
TYPE |
barrierType, guard, location, usedAsNullCheckdeoptReasonAndAction, deoptSpeculationstateBeforenextEMPTY_ARRAY, stampNODE_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 nullCheck,
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, setUsedAsNullCheckgetDeoptReasonAndAction, getDeoptSpeculation, setImplicitDeoptimizationsetStateBefore, stateBeforeasFixedWithNextNode, next, setNextasFixedNode, verifyasConstant, asJavaConstant, asNode, asSerializableConstant, checkReplaceAtUsagesInvariants, getStackKind, graph, hasUsagesOtherThan, inferStamp, isAllowedUsageType, isConstant, isConstantPredicate, isDefaultConstant, isIllegalConstant, isJavaConstant, isNullConstant, isSerializableConstant, recursivelyDataFlowEqualsUpTo, setStamp, stamp, updateStamp, updateUsagesInterfaceafterClone, 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, 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, withNodeSourcePositionclone, equals, getClass, notify, notifyAll, wait, wait, waitcanNullCheckasNodecanUseAsStateDuringstatesasFixedNodepublic 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 nullCheck, FrameState stateBefore)
public abstract FloatingAccessNode asFloatingNode()
public void setForceFixed(boolean flag)
public boolean canFloat()