次の方法で共有


OpCodes.Localloc フィールド

ローカル動的メモリ プールから特定のバイト数を割り当て、最初に割り当てたバイトのアドレス (遷移ポインタ、 * 型) を評価スタックにプッシュします。

Public Shared ReadOnly Localloc As OpCode
[C#]
public static readonly OpCode Localloc;
[C++]
public: static OpCode Localloc;
[JScript]
public static var Localloc : OpCode;

解説

命令の 16 進数の形式、MSIL (Microsoft Intermediate Language) アセンブリ形式、および簡単な説明の一覧を次の表に示します。

形式 アセンブリ形式 説明
FE 0F localloc ローカル ヒープから領域を割り当てます。

スタックの遷移動作を順番に示すと、次のようになります。

  1. 割り当てるバイト数がスタックにプッシュされます。
  2. 割り当てるバイト数がスタックからポップされます。サイズに対応する量のメモリがローカル ヒープから割り当てられます。
  3. 割り当てられたメモリの最初のバイトへのポインタがスタックにプッシュされます。

localloc 命令は、ローカル動的メモリ プールから size (natural unsigned int 型) バイトを割り当て、最初に割り当てたバイトのアドレス (遷移ポインタ、 * 型) を返します。返されたメモリのブロックは、メソッドの初期化フラグが true である場合にだけ 0 に初期化されます。現在のメソッドが Ret を実行すると、ローカル メモリ プールを再使用できるようになります。

生成されたアドレスは、 stind 命令 (Stind_I4 など) を使用して任意のプリミティブ データ型を格納したり、 ldind 命令 (Ldind_I4 など) を使用して読み込んだりできるように配置されます。

localloc 命令は、filter、catch、finally、または fault の各ブロック内では発生しません。

要求を満たすためのメモリが不足している場合は、 StackOverflowException がスローされます。

localloc オペコードを使用できる Emit コンストラクタ オーバーロードを次に示します。

  • ILGenerator.Emit(OpCode)

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

参照

OpCodes クラス | OpCodes メンバ | System.Reflection.Emit 名前空間