next up [*] [*]
Next: 4.3 ITHEAD Up: 4. Memory Manager Module Previous: 4.1 NAMLST

   
4.2 VRTMKR

This array holds information relating to each of the data classes which can be handled by the memory manager. It should be noted that the memory manager works with three data classes, numeric, logical and character. All numeric variable data types, integer, real, double real, complex are allocated from the same array. The array has 7 entries for each data class. These entries are accessed by the index variables NXTFSP, NXTFVR, LSTFVR, NUMVAR, IUSESP, MAXUSE and ARSIZE. The description of the values stored in each of these entries is as follows:

NXTFSP The first position in the relevant array beyond which no memory is currently in use.
NXTFVR The first record number in the link list of freed memory manager records. This variable will have 0 value if no records, of the relevant class, have been freed by the memory manager. The linked list is maintained so that records with the lowest value address (see ITHEAD) are at the start of the link list. If two records which represent portions of memory which are congruous, are in the linked list, they are amalgamated into one record, the second becoming free for reuse. This amalgamation also happens with freed records which represent memory congruous with the unused portion signified by the NXTFSP entry. In this case NXTFSP is reduced by the size of the array and the relevant record is freed for re-use.
LSTFVR The last record number in the linked list of freed memory records. This variable will have 0 value if no records have been freed by the memory manager.
NUMVAR Number of variables of the data class in the memory manager.
IUSESP The maximum index in the relevant array which is currently in use.
MAXUSE The maximum index in the relevant array which was in use at some stage of the simulation.
ARSIZE Dimension of the array of the data type (Ia, Ra etc) as declared in the routine physica_main.


next up [*] [*]
Next: 4.3 ITHEAD Up: 4. Memory Manager Module Previous: 4.1 NAMLST

2002-12-09