Compartir a través de


ICorProfilerCallback::JITCachedFunctionSearchStarted (Método)

Notifica al generador de perfiles que se ha iniciado una búsqueda para una función compilada previamente mediante el Generador de imágenes nativas (NGen.exe).

HRESULT JITCachedFunctionSearchStarted(
    [in]  FunctionID functionId,
    [out] BOOL *pbUseCachedFunction);

Parámetros

  • functionId
    [in] Id. de la función para la que se está realizando la búsqueda.

  • pbUseCachedFunction
    [out] Su valor es true si el motor de ejecución debe usar la versión en caché de una función, si está disponible; de lo contrario, es false. Si el valor es false, el motor de ejecución del compilador JIT compila la función en vez de usar una versión que no se compile con JIT.

Comentarios

En .NET Framework 2.0, no se realizarán las devoluciones de llamada de JITCachedFunctionSearchStarted y del método ICorProfilerCallback::JITCachedFunctionSearchFinished para todas las funciones en imágenes NGen normales. Sólo las imágenes NGen optimizadas para un perfil generarán las devoluciones de llamada para todas las funciones de la imagen. Sin embargo, debido a la sobrecarga adicional, un generador de perfiles debe solicitar imágenes NGen optimizadas por el generador únicamente si trata de usar estas devoluciones de llamadas para forzar la compilación JIT de una función. De lo contrario, el generador de perfiles debe usar una estrategia lenta para recopilar la información de las funciones.

Los generadores de perfiles deben admitir casos en los que varios subprocesos de una aplicación de perfiles llamen al mismo método simultáneamente. Por ejemplo, el subproceso A llama a JITCachedFunctionSearchStarted y el generador de perfiles responde estableciendo el valor de pbUseCachedFunctionen FALSE para forzar una compilación JIT. Después, el subproceso A llama a ICorProfilerCallback::JITCompilationStarted e ICorProfilerCallback::JITCompilationFinished.

Después el subproceso B llama a JITCachedFunctionSearchStarted para la misma función. Aunque el generador de perfiles indique que va a compilar la función mediante JIT, recibe la segunda llamada porque el subproceso B la envía antes de que el generador haya respondido a la llamada del subproceso A a JITCachedFunctionSearchStarted. El orden en el que los subprocesos efectúan las llamadas depende de su programación.

Cuando el generador de perfiles recibe llamadas duplicadas, debe establecer el valor al que se hace referencia mediante pbUseCachedFunction en el mismo valor para todas las devoluciones de estas llamadas. Es decir, cuando se llama a JITCachedFunctionSearchStarted varias veces con el mismo valor functionId, el generador de perfiles debe responder lo mismo cada vez.

Requisitos

Plataformas: vea Requisitos de sistema de .NET Framework.

Encabezado: CorProf.idl, CorProf.h

Biblioteca: CorGuids.lib

Versiones de .NET Framework: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0

Vea también

Referencia

ICorProfilerCallback (Interfaz)