public final class MemoryMapNode extends FloatingNode implements MemoryMap, MemoryNode, LIRLowerable
Node.ConstantNodeParameter, Node.InjectedNodeParameter, Node.Input, Node.NodeIntrinsic, Node.OptionalInput, Node.Successor, Node.ValueNumberable| Modifier and Type | Field and Description |
|---|---|
protected List<LocationIdentity> |
locationIdentities |
(package private) NodeInputList<ValueNode> |
nodes |
static NodeClass<MemoryMapNode> |
TYPE |
NODE_LIST, NOT_ITERABLE, USE_UNSAFE_TO_CLONE, WithAllEdges, WithNoEdges, WithOnlyInputEdges, WithOnlySucessorEdges| Constructor and Description |
|---|
MemoryMapNode(Map<LocationIdentity,MemoryNode> mmap) |
| Modifier and Type | Method and Description |
|---|---|
private boolean |
checkOrder(Map<LocationIdentity,MemoryNode> mmap) |
void |
generate(NodeLIRBuilderTool generator) |
MemoryNode |
getLastLocationAccess(LocationIdentity locationIdentity)
Gets the last node that that (potentially) wrote to
locationIdentity. |
Collection<LocationIdentity> |
getLocations()
Gets the location identities in the domain of this map.
|
boolean |
isEmpty() |
Map<LocationIdentity,MemoryNode> |
toMap() |
asNodeasConstant, 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, verify, verifyEdges, verifyInputsclone, finalize, getClass, notify, notifyAll, wait, wait, waitasNodepublic static final NodeClass<MemoryMapNode> TYPE
protected final List<LocationIdentity> locationIdentities
NodeInputList<ValueNode> nodes
public MemoryMapNode(Map<LocationIdentity,MemoryNode> mmap)
private boolean checkOrder(Map<LocationIdentity,MemoryNode> mmap)
public boolean isEmpty()
public MemoryNode getLastLocationAccess(LocationIdentity locationIdentity)
MemoryMaplocationIdentity.getLastLocationAccess in interface MemoryMappublic Collection<LocationIdentity> getLocations()
MemoryMapgetLocations in interface MemoryMappublic Map<LocationIdentity,MemoryNode> toMap()
public void generate(NodeLIRBuilderTool generator)
generate in interface LIRLowerable