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