MemoryMaps¶
-
public final class
MemoryMaps
¶ Memory map manager. Deals with the relative layout of variables in memory. In particular, accepts the declaration of a new COMMON block, or the declaration that some variables are EQUIVALENCEd, DATA, or SAVEd.
Fields¶
mapAccesses¶
-
public TapList<VarStartBoundary>
mapAccesses
¶ Fast access from a VariableDecl to its start AlignmentBoundary in one of the maps. This is a hatted list for easy add/remove of entries
Methods¶
addRegistration¶
-
public void
addRegistration
(VarStartBoundary entry)¶ Adds the new “entry” into this MemoryMap’s mapAccesses
allocateZones¶
-
public void
allocateZones
(ZoneAllocator zoneAllocator, Unit declarationUnit)¶
delRegistration¶
-
public VarStartBoundary
delRegistration
(SymbolDecl symbolDecl)¶ Retrieves the (first) entry associated to the given “symbolDecl” in this MemoryMap’s mapAccesses. If the entry is found, remove it from this MemoryMap’s mapAccesses
getRegistration¶
-
public VarStartBoundary
getRegistration
(SymbolDecl symbolDecl)¶ Retrieves the (first) entry associated to the given “symbolDecl” in this MemoryMap’s mapAccesses
getSetMemMap¶
placeCAccessIntoFortranMap¶
-
public static void
placeCAccessIntoFortranMap
(ZoneInfoAccessElements cAccess, MemMap receivingMap, String bindName, int receivingOffset, MemoryMaps globalFortranMaps)¶
placeCEDSIntoMemoryMaps¶
-
public static void
placeCEDSIntoMemoryMaps
(Tree declaration, SymbolTable declSymbolTable, Unit declUnit, MemoryMaps unitMaps, CallGraph callGraph)¶ Place into the MemoryMaps the given memory layout “declaration”, which appeared in the context of the given “declSymbolTable”. “declaration” may be a COMMON, EQUIVALENCE, SAVE, or DATA declaration. The info may end up into this Unit’s local maps (if it is purely an EQUIVALENCE) or into the CallGraph’s global maps (if it is a COMMON, SAVE, DATA, or BIND(C) declaration.