次の方法で共有


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 関数に挿入しないように、プロファイラーでは pfShouldInlinefalse に設定できます。 また、プロファイラーでは、COR_PRF_MONITOR 列挙型の COR_PRF_DISABLE_INLINING 値を使用することで、インライン挿入をグローバルに無効化できます。

インラインで挿入された関数では、入るときも離れるときも、イベントが発生しません。 そのため、正確なコールグラフを生成するには、プロファイラーで pfShouldInlinefalse に設定する必要があります。 pfShouldInlinefalse に設定すると、パフォーマンスに影響が出ます。インライン挿入では通常、スピードが上がり、挿入されたメソッドの個別 JIT コンパイル イベント数が減るためです。

必要条件

:システム要件」を参照してください。

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

ライブラリ: CorGuids.lib

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

関連項目