public final class UnsafeCopyNode extends FixedWithNextNode implements StateSplit
UnsafeLoadNode
and UnsafeStoreNode pair.Node.ConstantNodeParameter, Node.InjectedNodeParameter, Node.Input, Node.NodeIntrinsic, Node.OptionalInput, Node.Successor, Node.ValueNumberable| Modifier and Type | Field and Description |
|---|---|
protected Kind |
accessKind |
(package private) ValueNode |
destinationObject |
(package private) ValueNode |
destinationOffset |
protected LocationIdentity |
locationIdentity |
(package private) ValueNode |
sourceObject |
(package private) ValueNode |
sourceOffset |
(package private) FrameState |
stateAfter |
static NodeClass<UnsafeCopyNode> |
TYPE |
nextNODE_LIST, NOT_ITERABLE, USE_UNSAFE_TO_CLONE, WithAllEdges, WithNoEdges, WithOnlyInputEdges, WithOnlySucessorEdges| Constructor and Description |
|---|
UnsafeCopyNode(ValueNode sourceObject,
ValueNode sourceOffset,
ValueNode destinationObject,
ValueNode destinationOffset,
Kind accessKind,
LocationIdentity locationIdentity) |
UnsafeCopyNode(ValueNode sourceObject,
ValueNode sourceOffset,
ValueNode destinationObject,
ValueNode destinationOffset,
Kind accessKind,
LocationIdentity locationIdentity,
FrameState stateAfter) |
| Modifier and Type | Method and Description |
|---|---|
Kind |
accessKind() |
static void |
copy(Object srcObject,
long srcOffset,
Object destObject,
long destOffset,
Kind kind,
LocationIdentity locationIdentity) |
ValueNode |
destinationObject() |
ValueNode |
destinationOffset() |
LocationIdentity |
getLocationIdentity() |
FrameState |
getState() |
boolean |
hasSideEffect()
Determines if this node has a side-effect.
|
void |
setStateAfter(FrameState x)
Sets the
FrameState corresponding to the state of the JVM after execution of this
node. |
ValueNode |
sourceObject() |
ValueNode |
sourceOffset() |
FrameState |
stateAfter()
Gets the
FrameState corresponding to the state of the JVM after execution of this
node. |
asNode, next, setNextasConstant, asJavaConstant, getKind, graph, inferStamp, isAllowedUsageType, isConstant, isConstantPredicate, isNullConstant, setStamp, stamp, updateStampacceptInputs, 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, verifyInputsclone, finalize, getClass, notify, notifyAll, wait, wait, waitasNodestatespublic static final NodeClass<UnsafeCopyNode> TYPE
ValueNode sourceObject
ValueNode destinationObject
ValueNode sourceOffset
ValueNode destinationOffset
protected final Kind accessKind
protected final LocationIdentity locationIdentity
FrameState stateAfter
public UnsafeCopyNode(ValueNode sourceObject, ValueNode sourceOffset, ValueNode destinationObject, ValueNode destinationOffset, Kind accessKind, LocationIdentity locationIdentity)
public UnsafeCopyNode(ValueNode sourceObject, ValueNode sourceOffset, ValueNode destinationObject, ValueNode destinationOffset, Kind accessKind, LocationIdentity locationIdentity, FrameState stateAfter)
public ValueNode sourceObject()
public ValueNode destinationObject()
public LocationIdentity getLocationIdentity()
public ValueNode sourceOffset()
public ValueNode destinationOffset()
public Kind accessKind()
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 FrameState getState()
public static void copy(Object srcObject, long srcOffset, Object destObject, long destOffset, Kind kind, LocationIdentity locationIdentity)