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() |
asNode
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, verify, verifyEdges, verifyInputs
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
asNode
public 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)
MemoryMap
locationIdentity
.getLastLocationAccess
in interface MemoryMap
public Collection<LocationIdentity> getLocations()
MemoryMap
getLocations
in interface MemoryMap
public Map<LocationIdentity,MemoryNode> toMap()
public void generate(NodeLIRBuilderTool generator)
generate
in interface LIRLowerable