OpCodes.Localloc フィールド

定義

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

public: static initonly System::Reflection::Emit::OpCode Localloc;
public static readonly System.Reflection.Emit.OpCode Localloc;
 staticval mutable Localloc : System.Reflection.Emit.OpCode
Public Shared ReadOnly Localloc As OpCode 

フィールド値

注釈

次の表に、命令の 16 進数および Microsoft Intermediate Language (MSIL) アセンブリ形式と、簡単なリファレンス概要を示します。

フォーマット アセンブリ形式 Description
FE 0F localloc ローカル ヒープから領域を割り当てます。

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

  1. 割り当てられるバイト数は、スタックにプッシュされます。

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

  3. 割り当てられたメモリの最初のバイトへのポインターがスタックにプッシュされます。

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

結果のアドレスは、 stind 命令 ( Stind_I4 など) を使用してプリミティブ データ型をそこに格納し、 ldind 命令 ( Ldind_I4 など) を使用して読み込むことができるように配置されます。

localloc命令は、filtercatchfinally、またはfault ブロック内では実行できません。

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

次の Emit メソッドオーバーロードでは、 localloc オペコードを使用できます。

適用対象