次の方法で共有


ICorProfilerInfo10::RequestReJITWithInliners メソッド

要求されたメソッドに加えて、要求されたメソッドのすべてのインライナも ReJIT します。

構文

HRESULT RequestReJITWithInliners( [in]                       DWORD       dwRejitFlags,
                                  [in]                       ULONG       cFunctions,
                                  [in, size_is(cFunctions)]  ModuleID    moduleIds[],
                                  [in, size_is(cFunctions)]  mdMethodDef methodIds[]);

パラメーター

dwRejitFlags
[入力] COR_PRF_REJIT_FLAGS のビットマスク。

cFunctions
[in] 再コンパイルする関数の数。

moduleIds
[in] 再コンパイルする関数を識別する (modulemethodDef) ペアの moduleId の部分を指定します。

methodIds
[in] 再コンパイルする関数を識別する (modulemethodDef) ペアの methodId の部分を指定します。

解説

RequestReJIT はインライン メソッドを追跡しません。 プロファイラーは、インライン化をブロックするかインライン化を追跡し、すべてのインライナに対して RequestReJIT を呼び出すことで、インライン化されたメソッドの各インスタンスが確実に ReJIT されるようにする必要があります。 インライン化を監視するためのプロファイラーは存在しないため、これにより、アタッチ時に ReJIT に関する問題が発生します。 このメソッド RequestReJITWithInliners を呼び出すと、インライナの完全なセットも ReJIT されることが保証されます。

必要条件

プラットフォーム:.NET がサポートされているオペレーティング システムに関するページを参照してください。

ヘッダー : CorProf.idl、CorProf.h

ライブラリ: CorGuids.lib

.NET のバージョン: .NET Core 3.0 以降で使用可能

関連項目