TAL Programmer's Guide
Storage Allocation
Introducing the Environment
096254 Tandem Computers Incorporated 4–11
Extended Stack
The compiler allocates the extended stack in the automatic extended data segment in a
data block named $EXTENDED#STACK. The default size of the extended stack is 64K
bytes or the maximum space required by a procedure, whichever is greater.
When you use recursion or compile compilation units separately, the compiler cannot
calculate the size requirements of the extended stack precisely. You can increase its
size by using the LARGESTACK directive, described in the TAL Reference Manual.
Extended Stack Pointers
The compiler allocates two implicit extended stack pointers in a data block named
EXTENDED#STACK#POINTERS in the global primary area of the user data segment.
These pointers are as follows:
Extended
Stack Pointer Content
#SX Contains the address of the first free location in the current activation record in the
extended stack. The current activation record contains all the information needed
to execute the current procedure.
#MX Contains the maximum value allowed for #SX, less eight bytes.
When the value of #SX is greater than or equal to the value of #MX, the extended stack
overflows. The end of the compilation listing reports the memory position of the two
stack pointers.