MemMap ====== .. java:package:: fr.inria.tapenade.representation :noindex: .. java:type:: public final class MemMap A map for a set of variables that share a common location in memory, e.g. through a Fortran COMMON or EQUIVALENCE declaration, a BIND(C), ... Fields ------ boundaries ^^^^^^^^^^ .. java:field:: public TapList boundaries :outertype: MemMap The (hatted) sequence of boundaries that partition this shared location name ^^^^ .. java:field:: public String name :outertype: MemMap A name to identify the shared location, e.g. the COMMON name Constructors ------------ MemMap ^^^^^^ .. java:constructor:: public MemMap(String commonName) :outertype: MemMap Methods ------- absorb ^^^^^^ .. java:method:: public void absorb(MemMap otherMap, int shift, MemoryMaps otherMaps, MemoryMaps thisMaps) :outertype: MemMap Merge "otherMap" into this MemMap. Update the mapAccesses accordingly. allocateZones ^^^^^^^^^^^^^ .. java:method:: public void allocateZones(ZoneAllocator zoneAllocator, Unit declarationUnit) :outertype: MemMap Use the given zoneAllocator to allocate zones for all variables in this MemMap. TODO: Also accumulate into callGraph, for each Unit, the waiting lists of ZoneInfo of this MemMap that the Unit may see (through its ImportsSymbolTable) getLastOffset ^^^^^^^^^^^^^ .. java:method:: public int getLastOffset(ToBool toInfiniteLastOffset) :outertype: MemMap Return the offset of the end of this MemMap. Sets true in "toInfiniteLastOffset" if the end is at some indefinite offset. insertVariableAt ^^^^^^^^^^^^^^^^ .. java:method:: public void insertVariableAt(int offset, int varSize, VariableDecl variableDecl, SymbolTable declSymbolTable, MemoryMaps thisMaps) :outertype: MemMap Insert "variableDecl", of size "varSize", at the given starting "offset" into this MemMap. Update the mapAccesses accordingly. isActiveRegion ^^^^^^^^^^^^^^ .. java:method:: public boolean isActiveRegion(int startOffset, int endOffset, boolean infiniteEndOffset) :outertype: MemMap :return: true if at least a part of the region from startOffset to endOffset/infiniteEndOffset(excluded) is marked as active removeVariableFrom ^^^^^^^^^^^^^^^^^^ .. java:method:: public void removeVariableFrom(VariableDecl varDecl, MemoryMaps thisMaps) :outertype: MemMap Remove the given VariableDecl from this MemMap, possibly leaving a hole with no variable. setActiveRegion ^^^^^^^^^^^^^^^ .. java:method:: public void setActiveRegion(int startOffset, int endOffset, boolean infiniteEndOffset) :outertype: MemMap Set boundaries in this MemMap to represent region from startOffset to endOffset/infiniteEndOffset, if these boundaries are not already present. Sets to true the "active" field of all boundaries from startOffset to endOffset(excluded). toString ^^^^^^^^ .. java:method:: @Override public String toString() :outertype: MemMap touchesSymbolTable ^^^^^^^^^^^^^^^^^^ .. java:method:: protected boolean touchesSymbolTable(SymbolTable targetSymbolTable) :outertype: MemMap :return: true iff this MemMap concerns at least one variable which is declared by the scope "targetSymbolTable"