ICorProfilerFunctionControl::SetCodegenFlags メソッド
Just-In-Time (JIT) の再コンパイルされた関数に対してコード生成を制御するために、COR_PRF_CODEGEN_FLAGS 列挙からいくつかのフラグを設定します。
構文
HRESULT SetCodegenFlags(
[in] DWORD flags);
パラメーター
flags
[in] COR_PRF_CODEGEN_FLAGS 列挙体からの 1 つ以上のフラグ。
解説
プロファイラーは ICorProfilerCallback4::GetReJITParameters コールバックを介して、このインターフェイスのインスタンスを取得します。 SetCodegenFlags
によってプロファイラーは、再コンパイルされた関数のコード生成を制御できるようになります。 他のすべての JIT 再コンパイル パラメーターと同様に、コード生成フラグは関数のすべてのインスタンスに適用されます。
JIT コンパイラは関数をコンパイルするとき、これらのコンパイル フラグを他のソースによって指定された他のフラグと共に考慮します。 その他のソースには、デバッガー、ICorProfilerInfo::SetEventMask メソッド (COR_PRF_DISABLE_INLINING
および COR_PRF_DISABLE_OPTIMIZATIONS
の値を指定) を使用して起動時にプロファイラーによって設定されたグローバル フラグ、およびプロファイラーの ICorProfilerCallback::JITInlining コールバックが含まれます。 JIT コンパイラは、最小限の最適化を要求するソースに優先順位を付けます。 たとえば、プロファイラーが起動時に COR_PRF_DISABLE_INLINING
を指定したが、ICorProfilerFunctionControl::SetCodegenFlags コールバックで COR_PRF_CODEGEN_DISABLE_INLINING
を指定しない場合でも、インライン展開は無効になります。 同様に、プロファイラーによって SetCodegenFlags
で COR_PRF_CODEGEN_DISABLE_INLINING
を指定せず、ICorProfilerCallback::JITInlining コールバックを使用したインライン展開を無効にした場合は、インライン展開が無効になります。
必要条件
:「システム要件」を参照してください。
ヘッダー : CorProf.idl、CorProf.h
ライブラリ: CorGuids.lib
.NET Framework のバージョン: 4.5 以降で使用可能
関連項目
.NET