IBMBPGR*

IBMBPGR is the storage management (nonmultitasking) module. It manages the dynamic storage used by PL/I by allocating storage (non-LIFO) to obtain segments when insufficient space is available in the current segment.

It has four entry points

  • IBMBPGRA - gets non-LIFO storage.

  • IBMBPGRB - frees non-LIFO storage.

  • IBMBPGRC - handles LIFO-stack overflow recovery for "get DSA".

  • IBMBPGRD - handles LIFO-stack overflow for "get VDA".

Hints

A large amount of processing reported to IBMBPGR 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, Release 5.0, SC26-4121.