Sdílet prostřednictvím


ICorProfilerCallback::JITCachedFunctionSearchStarted – metoda

Upozorní profiler, že bylo zahájeno vyhledávání funkce, která byla dříve zkompilována pomocí generátoru nativních bitových kopií (NGen.exe).

Syntaxe

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

Parametry

functionId
[v] ID funkce, pro kterou se provádí hledání.

pbUseCachedFunction
[out] true pokud by spouštěcí modul měl používat verzi funkce uloženou v mezipaměti (pokud je k dispozici); jinak false. Pokud je falsehodnota , spouštěcí modul JIT zkompiluje funkci místo použití verze, která není zkompilována jit.

Poznámky

V rozhraní .NET Framework verze 2.0 JITCachedFunctionSearchStarted a ICorProfilerCallback::JITCachedFunctionSearchFinished zpětné volání metody nebudou provedeny pro všechny funkce v běžných imagích NGen. Pouze image NGen optimalizované pro profil budou generovat zpětná volání pro všechny funkce v imagi. Vzhledem k dodatečné režii by však profiler měl požadovat image NGen optimalizované profilerem pouze v případě, že má v úmyslu použít tato zpětná volání k vynucení kompilace funkce za běhu (JIT). Jinak by profiler měl používat opožděnou strategii pro shromažďování informací o funkcích.

Profilátory musí podporovat případy, kdy více vláken profilované aplikace volá stejnou metodu současně. Například volá JITCachedFunctionSearchStarted vlákno A a profiler reaguje nastavením pbUseCachedFunctionna FALSE, aby vynutil kompilaci JIT. Thread A pak volá ICorProfilerCallback::JITCompilationStarted a ICorProfilerCallback::JITCompilationFinished.

Nyní vlákno B volá JITCachedFunctionSearchStarted stejnou funkci. I když profiler uvedl svůj záměr jit-zkompilovat funkci, profiler obdrží druhé zpětné volání, protože vlákno B odešle zpětné volání dříve, než profiler odpověděl na volání vlákna A na JITCachedFunctionSearchStarted. Pořadí volání vláken závisí na tom, jak jsou vlákna naplánována.

Když profiler obdrží duplicitní zpětná volání, musí nastavit hodnotu, na kterou odkazuje, pbUseCachedFunction na stejnou hodnotu pro všechna duplicitní zpětná volání. To znamená, že pokud JITCachedFunctionSearchStarted je volána vícekrát se stejnou functionId hodnotou, profiler musí pokaždé odpovědět stejně.

Požadavky

Platformy: Viz Požadavky na systém.

Záhlaví: CorProf.idl, CorProf.h

Knihovny: CorGuids.lib

Verze rozhraní .NET Framework: K dispozici od verze 2.0

Viz také