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 profilozót, hogy a just-in-time (JIT) fordító megkezdte a függvény fordítását.
Syntax
HRESULT JITCompilationStarted(
[in] FunctionID functionId,
[in] BOOL fIsSafeToBlock);
Paraméterek
functionId [in] Annak a függvénynek az azonosítója, amelyhez a fordítás elkezdődött.
fIsSafeToBlock [in] Egy érték, amely jelzi a profilozónak, hogy a blokkolás hatással lesz-e a futtatókörnyezet működésére. Az érték az, true ha a blokkolás miatt a futtatókörnyezet megvárja, amíg a hívó szál visszatér ebből a visszahívásból, ellenkező esetben false.
Bár egy érték true nem árt a futtatókörnyezetnek, eltúlozza a profilkészítési eredményeket.
Megjegyzések
Az egyes függvényekhez több ICorProfilerCallback JITCompilationStarted ::JITCompilationFinished hívás is fogadható, mivel a futtatókörnyezet kezeli az osztálykonstruktorokat. A futtatókörnyezet például a JIT-fordításI A metódussal kezdődik, de a B osztály osztálykonstruktorát futtatni kell. Ezért a futtatókörnyezeti JIT lefordítja a B osztály konstruktorát, és futtatja. Miközben a konstruktor fut, meghívja az A metódust, ami miatt az A metódus ismét JIT-fordításra kerül. Ebben a forgatókönyvben az A metódus első JIT-fordítása leáll. Az A JIT-fordítási módszer mindkét kísérletét azonban JIT-fordítási események jelentik. Ha a profilozó az ICorProfilerInfo::SetILFunctionBody metódus meghívásával lecseréli az A metódus közös köztes nyelvének (CIL) kódját, mindkét esemény esetében JITCompilationStarted ezt kell tennie, de használhatja ugyanazt a CIL-blokkot mindkettőhöz.
A profilkészítőknek támogatniuk kell a JIT-visszahívások sorozatát olyan esetekben, amikor két szál egyidejűleg visszahívást végez. Például az A szál hívásai JITCompilationStarted. Az A szál hívása JITCompilationFinishedelőtt azonban a B szál meghívja az ICorProfilerCallback::ExceptionSearchFunctionEnter függvényazonosítót az A szál visszahívásából JITCompilationStarted . Úgy tűnhet, hogy a függvényazonosító még nem lehet érvényes, mert a profilozó még nem fogadott hívást JITCompilationFinished . Egy ilyen esetben azonban a függvény azonosítója érvényes.
Követelmények
Platformok: Lásd a rendszerkövetelményeket.
Fejléc: CorProf.idl, CorProf.h
Könyvtár: CorGuids.lib
.NET-keretrendszer verziók: 2.0 óta elérhető