アプリケーションのメモリ ストラテジを動的に変更します。
注: このルーチンはネイティブ COBOL でのみサポートされます。
構文:
call "CBL_MEM_STRATEGY" using by value func
by reference flags
returning status-code
パラメーター:
|
呼び出しプロトタイプ使用時 (「説明の読み方」を参照) |
PIC (32 ビット システム) |
func |
cblt-x4-comp-5 |
pic x(4) comp-5 |
flags |
cblt-x4-comp-5 |
pic x(4) comp-5 |
status-code |
「説明の読み方」を参照 |
入力パラメーター:
- func
-
0 |
メモリ ストラテジを取得します。 |
1 |
メモリ ストラテジを設定します。 |
2 |
チェック対象の解放メモリ ブロック数を取得します。 |
3 |
チェック対象の解放メモリ ブロック数を設定します。 |
- flags
- func が 1 に設定されている場合、flags は、次のように、設定するメモリ ストラテジを示します。
- ビット 0
-
0 |
何も実行しません。 |
1 |
バイト チェック方針:各メモリ割り当ての前後にチェック バイトを付加します。 |
- ビット 1
-
0 |
何も実行しません。 |
1 |
解放メモリ チェック方針:解放された最後の n 個のメモリ ブロックについて、以降の破損を監視します。n は、func が 3 に設定されている場合に設定した現在の値です。 |
- ビット 2
-
0 |
何も実行しません。 |
1 |
再利用方針:破損を監視している解放メモリを、割り当て要求を満たすために使用できるようにします。 |
- ビット 3 から 29
- 将来使用するために予約されています。ゼロに設定する必要があります。
- ビット 30
-
0 |
何も実行しません。 |
1 |
互換性方針:以前のバージョンのランタイム システムとの互換性を維持します。 |
- ビット 31
-
0 |
何も実行しません。 |
1 |
検証方針:メモリ割り当て操作またはメモリ解放操作が行われるたびにメモリを検証します。 |
func が 3 に設定されている場合、flags は、破損を監視する解放メモリ ブロックの数を示します。
出力パラメーター:
- flags
- func が 0 に設定されている場合、flags は、次のように、現在のメモリ ストラテジを示します。
- ビット 0
-
0 |
何も実行しません。 |
1 |
バイト チェック方針:各メモリ割り当ての前後にチェック バイトを付加します。 |
- ビット 1
-
0 |
何も実行しません。 |
1 |
解放メモリ チェック方針:解放された最後の n 個のメモリ ブロックについて、以降の破損を監視します。n は、func が 3 に設定されている場合に設定した現在の値です。 |
- ビット 2
-
0 |
何も実行しません。 |
1 |
再利用方針:破損を監視している解放メモリを、割り当て要求を満たすために使用できるようにします。 |
- ビット 3 から 29
- 将来使用するために予約されています。ゼロに設定されます。
- ビット 30
-
0 |
何も実行しません。 |
1 |
互換性方針:以前のバージョンのランタイム システムとの互換性を維持します。 |
- ビット 31
-
0 |
何も実行しません。 |
1 |
検証方針:メモリ割り当て操作またはメモリ解放操作が行われるたびにメモリを検証します。 |
func が 2 に設定されている場合、flags は、破損を監視する解放メモリ ブロックの数を示します。
- status-code
- 処理状態を示すコード。
0 |
すべてのメモリ割り当てが正常です。 |
1000 |
要求の実行に必要なメモリが不足しています。 |
1009 |
指定されたパラメーターが無効です。 |
説明:
このルーチンを使用すると、アプリケーションのメモリ ストラテジをそのアプリケーション内から変更できます。この機能は、memory_strategy および memory_free_check_size ランタイム チューナーによって提供される機能と同じです。