public class RawStoreNode extends UnsafeAccessNode implements StateSplit, Lowerable, Virtualizable, SingleMemoryKill
Node.ConstantNodeParameter, Node.EdgeVisitor, Node.IndirectCanonicalization, Node.InjectedNodeParameter, Node.Input, Node.NodeInsertionStackTrace, Node.NodeIntrinsic, Node.NodeIntrinsicFactory, Node.OptionalInput, Node.Successor, Node.ValueNumberableMemoryKill.NoLocationCanonicalizable.Binary<T extends Node>, Canonicalizable.BinaryCommutative<T extends Node>, Canonicalizable.Ternary<T extends Node>, Canonicalizable.Unary<T extends Node>| Modifier and Type | Field and Description |
|---|---|
static NodeClass<RawStoreNode> |
TYPE |
accessKind, forceLocation, locationIdentitynextEMPTY_ARRAY, stampNODE_LIST, NOT_ITERABLE, TRACK_CREATION_POSITION, WithAllEdges, WithNoEdges, WithOnlyInputEdges, WithOnlySucessorEdgesMULTI_KILL_NO_LOCATION, NO_LOCATION| Modifier | Constructor and Description |
|---|---|
protected |
RawStoreNode(NodeClass<? extends RawStoreNode> c,
ValueNode object,
ValueNode offset,
ValueNode value,
JavaKind accessKind,
org.graalvm.word.LocationIdentity locationIdentity,
boolean needsBarrier,
MemoryOrderMode memoryOrder,
FrameState stateAfter,
boolean forceLocation) |
|
RawStoreNode(ValueNode object,
ValueNode offset,
ValueNode value,
JavaKind accessKind,
org.graalvm.word.LocationIdentity locationIdentity) |
|
RawStoreNode(ValueNode object,
ValueNode offset,
ValueNode value,
JavaKind accessKind,
org.graalvm.word.LocationIdentity locationIdentity,
boolean needsBarrier) |
|
RawStoreNode(ValueNode object,
ValueNode offset,
ValueNode value,
JavaKind accessKind,
org.graalvm.word.LocationIdentity locationIdentity,
boolean needsBarrier,
FrameState stateAfter,
boolean forceLocation) |
|
RawStoreNode(ValueNode object,
ValueNode offset,
ValueNode value,
JavaKind accessKind,
org.graalvm.word.LocationIdentity locationIdentity,
boolean needsBarrier,
MemoryOrderMode memoryOrder) |
|
RawStoreNode(ValueNode object,
ValueNode offset,
ValueNode value,
JavaKind accessKind,
org.graalvm.word.LocationIdentity locationIdentity,
boolean needsBarrier,
MemoryOrderMode memoryOrder,
FrameState stateAfter,
boolean forceLocation) |
| Modifier and Type | Method and Description |
|---|---|
protected ValueNode |
cloneAsArrayAccess(ValueNode location,
org.graalvm.word.LocationIdentity identity,
MemoryOrderMode memOrder) |
protected ValueNode |
cloneAsFieldAccess(Assumptions assumptions,
ResolvedJavaField field,
MemoryOrderMode memOrder) |
org.graalvm.word.LocationIdentity |
getKilledLocationIdentity()
This method is used to determine which memory location is killed by this node.
|
FrameState |
getState() |
boolean |
hasSideEffect()
Determines if this node has a side-effect.
|
boolean |
needsBarrier() |
void |
setStateAfter(FrameState x)
Sets the
FrameState corresponding to the state of the JVM after execution of this
node. |
FrameState |
stateAfter()
Gets the
FrameState corresponding to the state of the JVM after execution of this
node. |
static Object |
storeByte(Object object,
long offset,
byte value,
JavaKind kind,
org.graalvm.word.LocationIdentity locationIdentity) |
static Object |
storeChar(Object object,
long offset,
char value,
JavaKind kind,
org.graalvm.word.LocationIdentity locationIdentity) |
static Object |
storeObject(Object object,
long offset,
Object value,
JavaKind kind,
org.graalvm.word.LocationIdentity locationIdentity,
boolean needsBarrier) |
ValueNode |
value() |
void |
virtualize(VirtualizerTool tool)
A node class can implement this method to convey information about what its effect would be
if some of its inputs were virtualized.
|
accessKind, canonical, getLocationIdentity, getMemoryOrder, isCanonicalizable, isLocationForced, object, offsetasFixedWithNextNode, 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, waitstatesasFixedNodeasNodeasMultiMemoryKill, asSingleMemoryKill, isMemoryKill, isMultiMemoryKill, isSingleMemoryKillordersMemoryAccessesgetLastLocationAccess, setLastLocationAccesspublic static final NodeClass<RawStoreNode> TYPE
public RawStoreNode(ValueNode object, ValueNode offset, ValueNode value, JavaKind accessKind, org.graalvm.word.LocationIdentity locationIdentity)
public RawStoreNode(ValueNode object, ValueNode offset, ValueNode value, JavaKind accessKind, org.graalvm.word.LocationIdentity locationIdentity, boolean needsBarrier)
public RawStoreNode(ValueNode object, ValueNode offset, ValueNode value, JavaKind accessKind, org.graalvm.word.LocationIdentity locationIdentity, boolean needsBarrier, MemoryOrderMode memoryOrder)
public RawStoreNode(ValueNode object, ValueNode offset, ValueNode value, JavaKind accessKind, org.graalvm.word.LocationIdentity locationIdentity, boolean needsBarrier, FrameState stateAfter, boolean forceLocation)
public RawStoreNode(ValueNode object, ValueNode offset, ValueNode value, JavaKind accessKind, org.graalvm.word.LocationIdentity locationIdentity, boolean needsBarrier, MemoryOrderMode memoryOrder, FrameState stateAfter, boolean forceLocation)
protected RawStoreNode(NodeClass<? extends RawStoreNode> c, ValueNode object, ValueNode offset, ValueNode value, JavaKind accessKind, org.graalvm.word.LocationIdentity locationIdentity, boolean needsBarrier, MemoryOrderMode memoryOrder, FrameState stateAfter, boolean forceLocation)
public static Object storeObject(Object object, long offset, Object value, JavaKind kind, org.graalvm.word.LocationIdentity locationIdentity, boolean needsBarrier)
public static Object storeChar(Object object, long offset, char value, JavaKind kind, org.graalvm.word.LocationIdentity locationIdentity)
public static Object storeByte(Object object, long offset, byte value, JavaKind kind, org.graalvm.word.LocationIdentity locationIdentity)
public org.graalvm.word.LocationIdentity getKilledLocationIdentity()
SingleMemoryKillLocationIdentity.any() will kill all memory locations.getKilledLocationIdentity in interface SingleMemoryKillpublic boolean needsBarrier()
public FrameState stateAfter()
StateSplitFrameState corresponding to the state of the JVM after execution of this
node.stateAfter in interface StateSplitpublic void setStateAfter(FrameState x)
StateSplitFrameState corresponding to the state of the JVM after execution of this
node.setStateAfter in interface StateSplitpublic boolean hasSideEffect()
StateSplitFrameState nodes.hasSideEffect in interface StateSplitpublic ValueNode value()
public void virtualize(VirtualizerTool tool)
Virtualizablevirtualize in interface Virtualizabletool - the tool used to describe the effects of this nodeprotected ValueNode cloneAsFieldAccess(Assumptions assumptions, ResolvedJavaField field, MemoryOrderMode memOrder)
cloneAsFieldAccess in class UnsafeAccessNodeprotected ValueNode cloneAsArrayAccess(ValueNode location, org.graalvm.word.LocationIdentity identity, MemoryOrderMode memOrder)
cloneAsArrayAccess in class UnsafeAccessNodepublic FrameState getState()