OpCodes.Localloc フィールド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
ローカル動的メモリ プールから特定のバイト数を割り当て、最初に割り当てられたバイトのアドレス (一時的なポインター、型 *) を評価スタックにプッシュします。
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 | ローカル ヒープから領域を割り当てます。 |
スタック遷移の動作は、順番に次のようになります。
割り当てられるバイト数は、スタックにプッシュされます。
スタックからポップされたバイト数。サイズに対応するメモリの量がローカル ヒープから割り当てられます。
割り当てられたメモリの最初のバイトへのポインターがスタックにプッシュされます。
localloc命令は、ローカル動的メモリ プールからsize (型natural unsigned int) バイトを割り当て、最初に割り当てられたバイトのアドレス (一時的なポインター、型*) を返します。 返されるメモリ ブロックは、メソッドの初期化フラグが trueされている場合にのみ 0 に初期化されます。 現在のメソッドが Retを実行すると、ローカル メモリ プールを再利用できるようになります。
結果のアドレスは、 stind 命令 ( Stind_I4 など) を使用してプリミティブ データ型をそこに格納し、 ldind 命令 ( Ldind_I4 など) を使用して読み込むことができるように配置されます。
localloc命令は、filter、catch、finally、またはfault ブロック内では実行できません。
StackOverflowException は、要求にサービスを提供するためのメモリが不足している場合にスローされます。
次の Emit メソッドオーバーロードでは、 localloc オペコードを使用できます。