Metodo ICorProfilerCallback::JITCachedFunctionSearchStarted
Notifica al profiler che è iniziata una ricerca per una funzione compilata precedentemente utilizzando il generatore di immagini native (NGen.exe).
HRESULT JITCachedFunctionSearchStarted(
[in] FunctionID functionId,
[out] BOOL *pbUseCachedFunction);
Parametri
functionId
[in] ID della funzione per la quale viene eseguita la ricerca.pbUseCachedFunction
[out] true se il motore di esecuzione deve utilizzare la versione memorizzata nella cache di una funzione, se disponibile; in caso contrario, false. Se il valore è false, il motore di esecuzione compila tramite JIT la funzione invece di utilizzare una versione non compilata tramite JIT.
Note
In .NET Framework versione 2.0, i callback di JITCachedFunctionSearchStarted e del metodo ICorProfilerCallback::JITCachedFunctionSearchFinished non verranno effettuati per tutte le funzioni nelle immagini NGen images normali. Solo le immagini NGen ottimizzate per un profiler genereranno callback per tutte le funzioni nell'immagine. A causa del sovraccarico aggiuntivo, un profiler deve tuttavia richiedere immagini NGen ottimizzate solo se intende utilizzare tali callback per forzare la compilazione JIT (Just-In-Time) di una funzione. In caso contrario, il profiler deve utilizzare una strategia lenta per raccogliere le informazioni sulle funzioni.
I profiler devono supportare casi in cui più thread di un'applicazione sottoposta ad analisi chiamano lo stesso metodo contemporaneamente. Ad esempio, il thread A chiama JITCachedFunctionSearchStarted e il profiler risponde impostando pbUseCachedFunctionsu FALSE per forzare la compilazione JIT. Il thread A chiama quindi i metodi ICorProfilerCallback::JITCompilationStarted e ICorProfilerCallback::JITCompilationFinished.
Ora il thread B chiama JITCachedFunctionSearchStarted per la stessa funzione. Anche se il profiler ha dichiarato l'intenzione di eseguire la compilazione JIT per la funzione, riceve il secondo callback perché il thread B invia il callback prima che il profiler abbia risposto alla chiamata a JITCachedFunctionSearchStarted del thread A. L'ordine in cui i thread effettuano le chiamate dipende dalla relativa pianificazione.
Quando il profiler riceve callback duplicati, deve impostare il valore a cui fa riferimento pbUseCachedFunction sullo stesso valore per tutti i callback duplicati. In altri termini, quando JITCachedFunctionSearchStarted viene chiamato più volte con il medesimo valore functionId, il profiler deve rispondere ogni volta nello stesso modo.
Requisiti
Piattaforme: vedere Requisiti di sistema di .NET Framework.
Intestazione: CorProf.idl, CorProf.h
Libreria: CorGuids.lib
Versioni di .NET Framework: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0