public final class CheckcastArrayCopyCallNode extends AbstractMemoryCheckpoint implements Lowerable, MemoryCheckpoint.Single
Node.ConstantNodeParameter, Node.InjectedNodeParameter, Node.Input, Node.NodeIntrinsic, Node.OptionalInput, Node.Successor, Node.ValueNumberable
MemoryCheckpoint.Multi, MemoryCheckpoint.Single, MemoryCheckpoint.TypeAssertion
Modifier and Type | Field and Description |
---|---|
(package private) ValueNode |
dest |
(package private) ValueNode |
destElemKlass |
(package private) ValueNode |
destPos |
(package private) ValueNode |
length |
protected HotSpotGraalRuntimeProvider |
runtime |
(package private) ValueNode |
src |
(package private) ValueNode |
srcPos |
(package private) ValueNode |
superCheckOffset |
static NodeClass<CheckcastArrayCopyCallNode> |
TYPE |
protected boolean |
uninit |
stateAfter
next
NODE_LIST, NOT_ITERABLE, USE_UNSAFE_TO_CLONE, WithAllEdges, WithNoEdges, WithOnlyInputEdges, WithOnlySucessorEdges
Modifier | Constructor and Description |
---|---|
protected |
CheckcastArrayCopyCallNode(HotSpotGraalRuntimeProvider runtime,
ValueNode src,
ValueNode srcPos,
ValueNode dest,
ValueNode destPos,
ValueNode length,
ValueNode superCheckOffset,
ValueNode destElemKlass,
boolean uninit) |
Modifier and Type | Method and Description |
---|---|
static int |
checkcastArraycopy(Object src,
int srcPos,
Object dest,
int destPos,
int length,
Word superCheckOffset,
Object destElemKlass,
boolean uninit) |
private ValueNode |
computeBase(ValueNode base,
ValueNode pos) |
ValueNode |
getDestination() |
ValueNode |
getDestinationPosition() |
ValueNode |
getLength() |
LocationIdentity |
getLocationIdentity()
This method is used to determine which memory location is killed by this node.
|
ValueNode |
getSource() |
ValueNode |
getSourcePosition() |
boolean |
isUninit() |
void |
lower(LoweringTool tool)
Expand this node into lower level nodes expressing the same semantics.
|
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
asNode
states
public static final NodeClass<CheckcastArrayCopyCallNode> TYPE
ValueNode destElemKlass
ValueNode superCheckOffset
protected final boolean uninit
protected final HotSpotGraalRuntimeProvider runtime
protected CheckcastArrayCopyCallNode(HotSpotGraalRuntimeProvider runtime, ValueNode src, ValueNode srcPos, ValueNode dest, ValueNode destPos, ValueNode length, ValueNode superCheckOffset, ValueNode destElemKlass, boolean uninit)
public ValueNode getSourcePosition()
public ValueNode getDestination()
public ValueNode getDestinationPosition()
public boolean isUninit()
private ValueNode computeBase(ValueNode base, ValueNode pos)
public void lower(LoweringTool tool)
Lowerable
public LocationIdentity getLocationIdentity()
MemoryCheckpoint.Single
LocationIdentity.any()
will kill all memory locations.getLocationIdentity
in interface MemoryCheckpoint.Single
public static int checkcastArraycopy(Object src, int srcPos, Object dest, int destPos, int length, Word superCheckOffset, Object destElemKlass, boolean uninit)