IBMBPGD*
IBMBPGD is the storage management (nonmultitasking) and storage reporting module. This routine is used instead of IBMBPGR when the REPORT execution-time option is used. IBMBPGD allocates storage (non-LIFO) to obtain segments when insufficient space is available in the current segment. The module also maintains up-to-date information on the use of storage for reporting at program termination.
It has four entry points
· IBMBPGDA - gets non-LIFO storage.
· IBMBPGDB - frees non-LIFO storage.
· IBMBPGDC - handles LIFO-stack overflow recovery for "get DSA".
· IBMBPGDD - handles LIFO-stack overflow recovery for "get DSA".
Hints
A large amount of processing reported to IBMBPGD means that PL/I is frequently allocating and freeing dynamic storage. To reduce this processing, specify an ISASIZE (Initial Storage Area) execution-time parameter to the application. ISASIZE specifies the length of the initial storage area. The IBM-supplied default for ISASIZE in a nontasking environment is ISASIZE=0.
Use the execution-time option REPORT created by this run to determine the optimal value for ISASIZE.
Reference Sources
OS PL/I Transient Library: Program Logic, LY33-6009.
OS PL/I Optimizing Compiler: Installation Guide for MVS, SC26-4121.