public final class ArrayCopySlowPathNode extends BasicArrayCopyNode
Node.ConstantNodeParameter, Node.InjectedNodeParameter, Node.Input, Node.NodeIntrinsic, Node.OptionalInput, Node.Successor, Node.ValueNumberableMemoryCheckpoint.Multi, MemoryCheckpoint.Single, MemoryCheckpoint.TypeAssertionDeoptimizingNode.DeoptAfter, DeoptimizingNode.DeoptBefore, DeoptimizingNode.DeoptDuring| Modifier and Type | Field and Description |
|---|---|
private Object |
argument
Extra context for the slow path snippet.
|
private SnippetTemplate.SnippetInfo |
snippet |
static NodeClass<ArrayCopySlowPathNode> |
TYPE |
bci, dest, destPos, elementKind, lastLocationAccess, length, src, srcPosstateAfternextNODE_LIST, NOT_ITERABLE, USE_UNSAFE_TO_CLONE, WithAllEdges, WithNoEdges, WithOnlyInputEdges, WithOnlySucessorEdges| Constructor and Description |
|---|
ArrayCopySlowPathNode(ValueNode src,
ValueNode srcPos,
ValueNode dest,
ValueNode destPos,
ValueNode length,
Kind elementKind,
SnippetTemplate.SnippetInfo snippet,
Object argument) |
| Modifier and Type | Method and Description |
|---|---|
static void |
arraycopy(Object nonNullSrc,
int srcPos,
Object nonNullDest,
int destPos,
int length,
Kind elementKind,
SnippetTemplate.SnippetInfo snippet,
Object argument) |
Object |
getArgument() |
LocationIdentity |
getLocationIdentity()
This method is used to determine which memory location is killed by this node.
|
SnippetTemplate.SnippetInfo |
getSnippet() |
void |
setBci(int bci) |
canDeoptimize, computeStateDuring, getBci, getDestination, getDestinationPosition, getElementKind, getLastLocationAccess, getLength, getSource, getSourcePosition, isExact, lower, setLastLocationAccess, setStateDuring, stateDuring, virtualizehasSideEffect, setStateAfter, stateAfterasNode, 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, waitasNodehasSideEffect, setStateAfter, stateAfterstatespublic static final NodeClass<ArrayCopySlowPathNode> TYPE
private final SnippetTemplate.SnippetInfo snippet
public ArrayCopySlowPathNode(ValueNode src, ValueNode srcPos, ValueNode dest, ValueNode destPos, ValueNode length, Kind elementKind, SnippetTemplate.SnippetInfo snippet, Object argument)
public static void arraycopy(Object nonNullSrc, int srcPos, Object nonNullDest, int destPos, int length, Kind elementKind, SnippetTemplate.SnippetInfo snippet, Object argument)
public SnippetTemplate.SnippetInfo getSnippet()
public Object getArgument()
public LocationIdentity getLocationIdentity()
MemoryCheckpoint.SingleLocationIdentity.any() will kill all memory locations.getLocationIdentity in interface MemoryAccessgetLocationIdentity in interface MemoryCheckpoint.SinglegetLocationIdentity in class BasicArrayCopyNodepublic void setBci(int bci)