ICorProfilerCallback::JITInlining Method

Notifies the profiler that the just-in-time (JIT) compiler is about to insert a function in line with another function.

HRESULT JITInlining(
    [in]  FunctionID callerId,
    [in]  FunctionID calleeId,
    [out] BOOL      *pfShouldInline);

Parameters

  • callerId
    [in] The ID of the function into which the calleeId function will be inserted.

  • calleeId
    [in] The ID of the function to be inserted.

  • pfShouldInline
    [out] true to allow the insertion to occur; otherwise, false.

Remarks

The profiler can set pfShouldInline to false to prevent the calleeId function from being inserted into the callerId function. Also, the profiler can globally disable inline insertion by using the COR_PRF_DISABLE_INLINING value of the COR_PRF_MONITOR enumeration.

Functions inserted inline do not raise events for entering or leaving. Therefore, the profiler must set pfShouldInline to false in order to produce an accurate callgraph. Setting pfShouldInline to false will affect performance, because inline insertion typically increases speed and reduces the number of separate JIT compilation events for the inserted method.

Requirements

Platforms: See .NET Framework System Requirements.

Header: CorProf.idl

Library: CorGuids.lib

.NET Framework Versions: 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0

See Also

Reference

ICorProfilerCallback Interface