Condividi tramite


Metodo ICorProfilerCallback::JITCachedFunctionSearchStarted

Notifica al profiler che una ricerca è stata avviata per una funzione compilata in precedenza usando il generatore di immagini native (NGen.exe).

Sintassi

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

Parametri

functionId
[in] ID della funzione per cui viene eseguita la ricerca.

pbUseCachedFunction
[out] true se il motore di esecuzione deve usare la versione memorizzata nella cache di una funzione (se disponibile); in caso contrario false, . Se il valore è false, il motore di esecuzione JIT compila la funzione anziché usare una versione non compilata tramite JIT.

Commenti

In .NET Framework versione 2.0 i JITCachedFunctionSearchStarted callback del metodo e ICorProfilerCallback::JITCachedFunctionSearchFinished non verranno eseguiti per tutte le funzioni nelle normali immagini NGen. Solo le immagini NGen ottimizzate per un profilo genereranno callback per tutte le funzioni nell'immagine. Tuttavia, a causa del sovraccarico aggiuntivo, un profiler deve richiedere immagini NGen ottimizzate per profiler solo se intende usare questi callback per forzare la compilazione di una funzione JIT (Just-In-Time). In caso contrario, il profiler deve usare una strategia differita per raccogliere informazioni sulla funzione.

I profiler devono supportare i casi in cui più thread di un'applicazione profilata chiamano contemporaneamente lo stesso metodo. Ad esempio, il thread A chiama JITCachedFunctionSearchStarted e il profiler risponde impostando pbUseCachedFunctionsu FALSE per forzare la compilazione JIT. Thread A chiama quindi ICorProfilerCallback::JITCompilationStarted e ICorProfilerCallback::JITCompilationFinished.

Ora il thread B chiama JITCachedFunctionSearchStarted per la stessa funzione. Anche se il profiler ha dichiarato la sua intenzione di compilare jit la funzione, il profiler riceve il secondo callback perché il thread B invia il callback prima che il profiler abbia risposto alla chiamata del thread A a JITCachedFunctionSearchStarted. L'ordine in cui i thread effettuano chiamate dipende dalla pianificazione dei thread.

Quando il profiler riceve callback duplicati, deve impostare il valore a cui pbUseCachedFunction fa riferimento lo stesso valore per tutti i callback duplicati. Ovvero, quando JITCachedFunctionSearchStarted viene chiamato più volte con lo stesso functionId valore, il profiler deve rispondere ogni volta.

Requisiti

Piattaforme: vedere Requisiti di sistema di .NET Framework.

Intestazione: CorProf.idl, CorProf.h

Libreria: CorGuids.lib

Versioni di .NET Framework: Disponibile dalla versione 2.0

Vedi anche