ICorProfilerInfo4 Interface

Provides methods that code profilers use to communicate with the common language runtime (CLR) to control event monitoring and request information. . The ICorProfilerInfo4 interface is an extension of the other ICorProfilerInfo interfaces. It provides new methods to support just-in-time (JIT) recompilation, added in .NET Framework 4.5.

Methods

Method Description
EnumJITedFunctions2 Method Returns an enumerator for all functions that were previously JIT-compiled and JIT-recompiled.
EnumThreads Method Gets an enumerator that provides methods to sequentially iterate through the collection of all managed threads in the profiled process.
GetCodeInfo3 Method Gets the extents of native code associated with the JIT-recompiled version of the specified function.
GetFunctionFromIP2 Method Maps a managed code instruction pointer to the JIT-recompiled version of a specified function.
GetILToNativeMapping2 Method Gets a map from common intermediate language (CIL) offsets to native offsets for the code contained in the JIT-recompiled version of the specified function .
GetObjectSize2 Method Returns the size of a specified object.
GetReJITIDs Method Returns an array of IDs that identify all JIT-recompiled versions of the specified function that are still allocated.
InitializeCurrentThread Method Initializes the current thread in advance of subsequent profiler API calls on the same thread, so that deadlock can be avoided.
RequestReJIT Method Requests a JIT recompilation of all instances of the specified functions.
RequestRevert Method Reverts all instances of the specified functions to their original versions.

Remarks

The CLR implements the methods of the ICorProfilerInfo4 interface by using the free-threaded model. Each method returns an HRESULT to indicate success or failure. For a list of possible return codes, see the CorError.h file.

Requirements

Platforms: See System Requirements.

Header: CorProf.idl, CorProf.h

Library: CorGuids.lib

.NET Framework Versions: Available since 4.5

See also