public final class ArrayCopyNode extends BasicArrayCopyNode implements Virtualizable, Lowerable
Node.ConstantNodeParameter, Node.InjectedNodeParameter, Node.Input, Node.NodeIntrinsic, Node.OptionalInput, Node.Successor, Node.ValueNumberable
MemoryCheckpoint.Multi, MemoryCheckpoint.Single, MemoryCheckpoint.TypeAssertion
DeoptimizingNode.DeoptAfter, DeoptimizingNode.DeoptBefore, DeoptimizingNode.DeoptDuring
Modifier and Type | Field and Description |
---|---|
private Kind |
elementKind |
static NodeClass<ArrayCopyNode> |
TYPE |
bci, dest, destPos, lastLocationAccess, length, src, srcPos
stateAfter
next
NODE_LIST, NOT_ITERABLE, USE_UNSAFE_TO_CLONE, WithAllEdges, WithNoEdges, WithOnlyInputEdges, WithOnlySucessorEdges
Constructor and Description |
---|
ArrayCopyNode(int bci,
ValueNode src,
ValueNode srcPos,
ValueNode dst,
ValueNode dstPos,
ValueNode length) |
Modifier and Type | Method and Description |
---|---|
LocationIdentity |
getLocationIdentity()
This method is used to determine which memory location is killed by this node.
|
void |
lower(LoweringTool tool)
Expand this node into lower level nodes expressing the same semantics.
|
canDeoptimize, computeStateDuring, getBci, getDestination, getDestinationPosition, getElementKind, getLastLocationAccess, getLength, getSource, getSourcePosition, isExact, setLastLocationAccess, setStateDuring, stateDuring, virtualize
hasSideEffect, setStateAfter, stateAfter
asNode, next, setNext
asConstant, asJavaConstant, getKind, graph, inferStamp, isAllowedUsageType, isConstant, isConstantPredicate, isNullConstant, setStamp, stamp, updateStamp
acceptInputs, 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, verifyInputs
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
virtualize
asNode
hasSideEffect, setStateAfter, stateAfter
states
public static final NodeClass<ArrayCopyNode> TYPE
private Kind elementKind
public LocationIdentity getLocationIdentity()
MemoryCheckpoint.Single
LocationIdentity.any()
will kill all memory locations.getLocationIdentity
in interface MemoryAccess
getLocationIdentity
in interface MemoryCheckpoint.Single
getLocationIdentity
in class BasicArrayCopyNode
public void lower(LoweringTool tool)
Lowerable
lower
in interface Lowerable
lower
in class BasicArrayCopyNode