public abstract class AccessIndexedNode extends AccessArrayNode implements Lowerable
AccessIndexedNode
class is the base class of instructions that read or write elements
of an array.Node.ConstantNodeParameter, Node.InjectedNodeParameter, Node.Input, Node.NodeIntrinsic, Node.OptionalInput, Node.Successor, Node.ValueNumberable
Modifier and Type | Field and Description |
---|---|
protected Kind |
elementKind |
protected ValueNode |
index |
static NodeClass<AccessIndexedNode> |
TYPE |
array
next
NODE_LIST, NOT_ITERABLE, USE_UNSAFE_TO_CLONE, WithAllEdges, WithNoEdges, WithOnlyInputEdges, WithOnlySucessorEdges
Modifier | Constructor and Description |
---|---|
protected |
AccessIndexedNode(NodeClass<? extends AccessIndexedNode> c,
Stamp stamp,
ValueNode array,
ValueNode index,
Kind elementKind)
Create an new AccessIndexedNode.
|
Modifier and Type | Method and Description |
---|---|
Kind |
elementKind()
Gets the element type of the array.
|
ValueNode |
index() |
void |
lower(LoweringTool tool)
Expand this node into lower level nodes expressing the same semantics.
|
array, setArray
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
public static final NodeClass<AccessIndexedNode> TYPE
protected final Kind elementKind
protected AccessIndexedNode(NodeClass<? extends AccessIndexedNode> c, Stamp stamp, ValueNode array, ValueNode index, Kind elementKind)
stamp
- the result kind of the accessarray
- the instruction producing the arrayindex
- the instruction producing the indexelementKind
- the kind of the elements of the arraypublic Kind elementKind()
public void lower(LoweringTool tool)
Lowerable