ICorProfilerCallback::JITInlining メソッド
Just-In-Time (JIT) コンパイラが別の関数の行内に関数を挿入しようとしていることをプロファイラーに通知します。
HRESULT JITInlining(
[in] FunctionID callerId,
[in] FunctionID calleeId,
[out] BOOL *pfShouldInline);
パラメーター
callerId
[入力] calleeId 関数を挿入する関数の ID。calleeId
[入力] 挿入する関数の ID。pfShouldInline
[出力] 挿入の実行が許可される場合は true。それ以外の場合は false。
解説
プロファイラーは、pfShouldInline を false に設定して、calleeId 関数が callerId 関数に挿入されるのを防止できます。 また、プロファイラーは、COR_PRF_MONITOR 列挙体の COR_PRF_DISABLE_INLINING 値を使用して、インライン挿入全体を無効にすることもできます。
インラインを挿入された関数では、出入りに関するイベントは発生しません。 したがって、プロファイラーは、正確なコールグラフを作成するために pfShouldInline を false に設定する必要があります。 通常、インライン挿入によって処理速度が向上し、挿入されたメソッドの個別の JIT コンパイル イベントの数が減少するため、pfShouldInline を false に設定すると、パフォーマンスに影響を与えます。
必要条件
プラットフォーム: 「.NET Framework システム要件」を参照
ヘッダー: CorProf.idl、CorProf.h
ライブラリ: CorGuids.lib
.NET Framework のバージョン: 4、3.5 SP1、3.5、3.0 SP1、3.0、2.0 SP1、2.0