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
。
解説
calleeId
関数を callerId
関数に挿入しないように、プロファイラーでは pfShouldInline
を false
に設定できます。 また、プロファイラーでは、COR_PRF_MONITOR 列挙型の COR_PRF_DISABLE_INLINING 値を使用することで、インライン挿入をグローバルに無効化できます。
インラインで挿入された関数では、入るときも離れるときも、イベントが発生しません。 そのため、正確なコールグラフを生成するには、プロファイラーで pfShouldInline
を false
に設定する必要があります。 pfShouldInline
を false
に設定すると、パフォーマンスに影響が出ます。インライン挿入では通常、スピードが上がり、挿入されたメソッドの個別 JIT コンパイル イベント数が減るためです。
必要条件
:「システム要件」を参照してください。
ヘッダー : CorProf.idl、CorProf.h
ライブラリ: CorGuids.lib
.NET Framework のバージョン: 2.0 以降で使用可能
関連項目
.NET