Dela via


ICorProfilerCallback::JITCachedFunctionSearchStarted-metod

Meddelar profileraren att en sökning har startat efter en funktion som kompilerats tidigare med hjälp av den interna avbildningsgeneratorn (NGen.exe).

Syntax

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

Parametrar

functionId
[i] ID för funktionen som sökningen utförs för.

pbUseCachedFunction
[ut] true om körningsmotorn ska använda den cachelagrade versionen av en funktion (om tillgänglig). annars false. Om värdet är falsekompilerar körningsmotorn JIT-funktionen i stället för att använda en version som inte är JIT-kompilerad.

Kommentarer

I .NET Framework version 2.0 görs inte återanropen JITCachedFunctionSearchStarted och ICorProfilerCallback::JITCachedFunctionSearchFinished Method för alla funktioner i vanliga NGen-avbildningar. Endast NGen-avbildningar som är optimerade för en profil genererar återanrop för alla funktioner i avbildningen. Men på grund av den extra kostnaden bör en profilerare begära profileroptimerade NGen-avbildningar endast om den avser att använda dessa återanrop för att tvinga en funktion att kompileras just-in-time (JIT). Annars bör profileraren använda en lat strategi för att samla in funktionsinformation.

Profilerare måste ha stöd för fall där flera trådar i ett profilerat program anropar samma metod samtidigt. Till exempel tråd A-anrop JITCachedFunctionSearchStarted och profileraren svarar genom att ange pbUseCachedFunctiontill FALSE för att tvinga JIT-kompilering. Thread A anropar sedan ICorProfilerCallback::JITCompilationStarted och ICorProfilerCallback::JITCompilationFinished.

Nu anropar JITCachedFunctionSearchStarted tråd B samma funktion. Även om profileraren har angett sin avsikt att JIT-kompilera funktionen, får profileraren det andra återanropet eftersom tråd B skickar återanropet innan profileraren har svarat på tråd A:s anrop till JITCachedFunctionSearchStarted. I vilken ordning trådarna gör anrop beror på hur trådarna schemaläggs.

När profileraren får dubbla återanrop måste den ange värdet som refereras av pbUseCachedFunction till samma värde för alla duplicerade återanrop. JITCachedFunctionSearchStarted När anropas flera gånger med samma functionId värde måste profileraren svara på samma sätt varje gång.

Krav

Plattformar: Se Systemkrav.

Huvudet: CorProf.idl, CorProf.h

Bibliotek: CorGuids.lib

.NET Framework versioner: Tillgänglig sedan 2.0

Se även