IBMBPGD*
IBMBPGDは、記憶管理(非マルチタスク)とレポートを実行するモジュールです。このルーチンは、REPORT実行時オプションが使用される場合に、IBMBPGRの代わりに使用されます。IBMBPGDは、現在のセグメントで十分なスペースが使用できない場合に、記憶域(非LIFO)を割り振り、セグメントを取得します。また、記憶域の使用に関する最新の情報も保持し、プログラム終了時にレポートします。
このモジュールには、以下の4つの入り口点があります。
· IBMBPGDA-非LIFOの記憶域を取得します。
· IBMBPGDB-非LIFOの記憶域を解放します。
· IBMBPGDC-"get DSA"のLIFOスタック オーバーフローからの回復を処理します。
· IBMBPGDD-"get DSA"のLIFOスタック オーバーフローを処理します。
ヒント
IBMBPGDに大量の処理が報告される場合は、動的記憶域がPL/Iによって頻繁に割り振り/解放されていることを示します。この処理を減らすには、ISASIZE(初期記憶域)の実行時パラメーターをアプリケーションに指定します。ISASIZEは、初期記憶域の長さを指定します。非タスク環境でのISASIZEのIBM提供のデフォルトは、ISASIZE=0です。
この実行により作成された実行時オプションREPORTを使用して、ISASIZEの最適値を判別してください。
参考資料
『OS PL/I Transient Library: Program Logic(LY33-6009)』
『OS PL/I Optimizing Compiler: Installation Guide for MVS(SC26-4121)』