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)』