OpCodes.Volatile フィールド
現在評価スタックの一番上にあるアドレスが揮発性である可能性があるため、この位置の読み取り結果をキャッシュできないこと、またはこの位置への複数の格納を中止できないことを指定します。
Public Shared ReadOnly Volatile As OpCode
[C#]
public static readonly OpCode Volatile;
[C++]
public: static OpCode Volatile;
[JScript]
public static var Volatile : OpCode;
解説
命令の 16 進数の形式、MSIL (Microsoft Intermediate Language) アセンブリ形式、および簡単な説明の一覧を次の表に示します。
形式 | アセンブリ形式 | 説明 |
---|---|---|
FE 13 | volatile. | 後続のポインタ参照が揮発性であることを示します。 |
スタックの遷移動作を順番に示すと、次のようになります。
- アドレスがスタックにプッシュされます。
volatile は、このアドレスが揮発性 (外部から現在の実行スレッドを参照することが可能) であるため、この位置の読み取り結果をキャッシュできないこと、またはこの位置への複数の格納を中止できないことを指定します。あるアクセスを volatile としてマークすると、そのアクセスだけに影響します。同じの場所への他のアクセスは、個別にマークする必要があります。揮発性の場所へのアクセスは、自動的に実行される必要はありません。
Unaligned プリフックスと volatile プリフィックスは、任意の順序で組み合わせることができます。これらは ldind 、 stind 、 ldfld 、 stfld 、 ldobj 、 stobj 、 initblk 、または cpblk の各命令の直前に置く必要があります。 Ldsfld 命令と Stsfld 命令に使用できるのは、 volatile プリフィックスだけです。
volatile オペコードを使用できる 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 ファミリ