次の方法で共有


ICorProfilerCallback::JITInlining メソッド

更新 : 2007 年 11 月

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

ライブラリ : CorGuids.lib

.NET Framework のバージョン : 3.5 SP1、3.5、3.0 SP1、3.0、2.0 SP1、2.0

参照

参照

ICorProfilerCallback