public final class AtomicReadAndWriteNode extends AbstractMemoryCheckpoint implements Lowerable, SingleMemoryKill
Unsafe.getAndSetInt(Object, long, int)
.Node.ConstantNodeParameter, Node.EdgeVisitor, Node.IndirectCanonicalization, Node.InjectedNodeParameter, Node.Input, Node.NodeInsertionStackTrace, Node.NodeIntrinsic, Node.NodeIntrinsicFactory, Node.OptionalInput, Node.Successor, Node.ValueNumberable
Modifier and Type | Field and Description |
---|---|
protected org.graalvm.word.LocationIdentity |
locationIdentity |
static NodeClass<AtomicReadAndWriteNode> |
TYPE |
protected jdk.vm.ci.meta.JavaKind |
valueKind |
stateAfter
next
NODE_LIST, NOT_ITERABLE, TRACK_CREATION_POSITION, WithAllEdges, WithNoEdges, WithOnlyInputEdges, WithOnlySucessorEdges
Constructor and Description |
---|
AtomicReadAndWriteNode(ValueNode object,
ValueNode offset,
ValueNode newValue,
jdk.vm.ci.meta.JavaKind valueKind,
org.graalvm.word.LocationIdentity locationIdentity) |
Modifier and Type | Method and Description |
---|---|
org.graalvm.word.LocationIdentity |
getKilledLocationIdentity()
This method is used to determine which memory location is killed by this node.
|
jdk.vm.ci.meta.JavaKind |
getValueKind() |
ValueNode |
newValue() |
ValueNode |
object() |
ValueNode |
offset() |
hasSideEffect, setStateAfter, stateAfter, verify
asNode, next, setNext
asConstant, asJavaConstant, asSerializableConstant, getStackKind, graph, hasUsagesOtherThan, inferStamp, isAllowedUsageType, isConstant, isConstantPredicate, isDefaultConstant, isIllegalConstant, isJavaConstant, isNullConstant, isSerializableConstant, replaceAtAllUsages, replaceAtUsages, setStamp, stamp, updateStamp
afterClone, applyInputs, applySuccessors, assertFalse, assertTrue, cfgPredecessors, cfgSuccessors, clearInputs, clearNodeSourcePosition, clearSuccessors, copyWithInputs, copyWithInputs, dataFlowEquals, estimatedNodeCycles, estimatedNodeSize, fail, formatTo, getCreationPosition, getDebug, getDebugProperties, getDebugProperties, getInsertionPosition, getNodeClass, getNodeSourcePosition, getOptions, getUsageCount, hasExactlyOneUsage, hashCode, hasMoreThanOneUsage, hasNoUsages, hasOnlyUsagesOfType, hasUsages, inputPositions, inputs, isAlive, isDeleted, isUnregistered, markDeleted, maybeNotifyZeroUsages, modCount, predecessor, pushInputs, removeUsage, replaceAllInputs, replaceAndDelete, replaceAtMatchingUsages, replaceAtPredecessor, replaceAtUsages, replaceAtUsages, replaceAtUsages, replaceAtUsages, replaceAtUsagesAndDelete, replaceAtUsagesAndDelete, replaceFirstInput, replaceFirstInput, replaceFirstSuccessor, safeDelete, setCreationPosition, setInsertionPosition, setNodeSourcePosition, simplify, successorPositions, successors, toString, toString, updateNodeSourcePosition, updatePredecessor, updateUsages, updateUsagesInterface, usages, valueEquals, verifyEdges, verifyInputs, verifySourcePosition, withNodeSourcePosition
clone, equals, finalize, getClass, notify, notifyAll, wait, wait, wait
asNode
states
asNode
public static final NodeClass<AtomicReadAndWriteNode> TYPE
protected final jdk.vm.ci.meta.JavaKind valueKind
protected final org.graalvm.word.LocationIdentity locationIdentity
public ValueNode object()
public ValueNode offset()
public ValueNode newValue()
public jdk.vm.ci.meta.JavaKind getValueKind()
public org.graalvm.word.LocationIdentity getKilledLocationIdentity()
SingleMemoryKill
LocationIdentity.any()
will kill all memory locations.getKilledLocationIdentity
in interface SingleMemoryKill