![]() Function Workspace Allocation |
![]() DEVELOPER |
![]() |
Function Workspace Allocation
In PROIV, the logic data and name table area, format header specification data area, and symbol table and runtime function stack area, are held separately from the rest of the data making up a function. This enables large functions to be accommodated in the memory available.
The sizes of these separate memory areas are determined and allocated dynamically for the specific function requirements. When genning functions, the symbol table area may extend to the limits of the memory available. At runtime, the areas for logic specification and format header specification may extend up to 64K.
For those environments that have severe memory constraints (for example, DOS), control is provided to prevent unnecessary memory fragmentation as these areas are continually allocated and freed.
![]() |
Warning: Large functions may not be portable to platforms that have a limited memory size, such as DOS. See Statistics. |
Topic ID: 730062