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 false
hodnota , 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