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.