Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Értesíti a profilkészítőt, hogy az igény szerinti fordító (JIT) elkezdte újrafordíteni a függvényt.
Szintaxis
HRESULT ReJITCompilationStarted(
[in] FunctionID functionId,
[in] ReJITID rejitId,
[in] BOOL fIsSafeToBlock);
Paraméterek
functionId
[in] Annak a függvénynek az azonosítója, amelyet a JIT-fordító elkezdett újrafordíteni.
rejitId
[in] A függvény új verziójának újrafordítási azonosítója.
fIsSafeToBlock
[in] true annak jelzésére, hogy a blokkolás miatt a futtatókörnyezet megvárhatja, amíg a híváslánc visszatér ebből a visszahívásból; false annak jelzésére, hogy a blokkolás nem befolyásolja a futtatókörnyezet működését. A értéke nem károsítja true a futtatókörnyezetet, de hatással lehet a profilkészítési eredményekre.
Megjegyzések
Több pár ReJITCompilationStarted és ReJITCompilationFinished metódushívás is fogadható az egyes függvényekhez, mivel a futtatókörnyezet kezeli az osztálykonstruktorokat. A futtatókörnyezet például újrafordítást kezd az A metóduson, de a B osztályhoz tartozó osztálykonstruktort futtatni kell. Ezért a futtatókörnyezet újrafordítást végez a B osztály konstruktorán, és futtatja azt. Amíg a konstruktor fut, meghívja az A metódust, ami miatt az A metódus újrafordul. Ebben a forgatókönyvben az A metódus első újrafordítása leáll. Az A metódus újrafordítására tett mindkét kísérletet azonban JIT újrafordítási eseményekkel jelenti a rendszer.
A profilkészítőknek támogatniuk kell a JIT újrafordítási visszahívásainak sorrendjét olyan esetekben, amikor két szál egyidejűleg végez visszahívást. Például: A híváslánc ReJITCompilationStarted; az A híváslánc előtt azonban a ReJITCompilationFinished, a B szál meghívja az ICorProfilerCallback::ExceptionSearchFunctionEnter függvényazonosítót az ReJITCompilationStarted A szál visszahívásából. Úgy tűnhet, hogy a függvényazonosító még nem lehet érvényes, mert a reJITCompilationFinished hívása még nem érkezett meg a profilozótól. Ebben az esetben azonban a függvényazonosító érvényes.
Követelmények
Platformok: Lásd: Rendszerkövetelmények.
Fejléc: CorProf.idl, CorProf.h
Könyvtár: CorGuids.lib
.NET-keretrendszer verziók: 4.5 óta elérhető