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.
A megadott függvények összes példányának JIT-újrafordítását kéri.
Szintaxis
HRESULT RequestReJIT (
[in] ULONG cFunctions,
[in, size_is(cFunctions)] ModuleID moduleIds[],
[in, size_is(cFunctions)] mdMethodDef methodIds[]);
Paraméterek
cFunctions
[in] Az újrafordíteni kívánt függvények száma.
moduleIds
[in] moduleId A (module, ) párok azon részét adja meg, methodDefamely azonosítja az újrakomponálandó függvényeket.
methodIds
[in] methodId A (module, ) párok azon részét adja meg, methodDefamely azonosítja az újrakomponálandó függvényeket.
Visszatérési érték
Ez a metódus a következő konkrét HRESULT-okat, valamint a metódushibát jelző HRESULT-hibákat adja vissza.
| HRESULT | Description |
|---|---|
| S_OK | Megkísérelték megjelölni a JIT-újrafordítás összes metódusát. A profilkészítőnek implementálnia kell az ICorProfilerCallback4::ReJITError metódust annak megállapításához, hogy mely metódusok lettek sikeresen megjelölve a JIT újrafordításához. |
| CORPROF_E_CALLBACK4_REQUIRED | A profilkészítőnek implementálnia kell az ICorProfilerCallback4 felületet ahhoz, hogy a hívás támogatott legyen. |
| CORPROF_E_REJIT_NOT_ENABLED | A JIT-újrafordítás nincs engedélyezve. Az inicializálás során engedélyeznie kell a JIT-újrafordítást az ICorProfilerInfo::SetEventMask metódussal a COR_PRF_ENABLE_REJIT jelző beállításához. |
| E_INVALIDARG |
cFunctionsvagy 0 vagy moduleIdsmethodIds .NULL |
| E_OUTOFMEMORY | A CLR nem tudta befejezni a kérést, mert elfogyt a memória. |
Megjegyzések
Hívás RequestReJIT , hogy a futtatókörnyezet újrafordítást végezhessen egy megadott függvénykészleten. A kódprofilozó ezután az ICorProfilerFunctionControl felülettel módosíthatja a függvények újrafordításakor létrehozott kódot. Ez nincs hatással a függvények jelenleg történő végrehajtására, csak a jövőbeli függvényhívásokra. Ha a megadott függvények bármelyikét korábban jiT-újrafordították, az újrafordítás kérése egyenértékű a függvény visszaállításával és újrafordításával. A reverzibilitás megőrzése érdekében, amikor a JIT-fordító lefordítja egy függvény eredeti verzióját, csak a híváshívások eredeti verzióit veszi figyelembe a döntések felvázolásához. Amikor a JIT-fordító újrafordít egy függvényt, a hívásainak aktuális (újrafordított vagy eredeti) verzióit veszi figyelembe a fordításhoz.
A profilkészítők általában a felhasználói bevitelre válaszolva kérik RequestReJIT , hogy a profilkészítő egy vagy több módszert hozzon létre.
RequestReJIT általában felfüggeszti a futtatókörnyezetet, hogy elvégezze a munkáját, és esetleg elindíthat egy szemétgyűjtést. Ezért a profilozónak egy korábban létrehozott szálról kell hívást kezdeményeznie RequestReJIT , nem pedig egy CLR által létrehozott szálról, amely jelenleg egy profiler visszahívását hajtja végre.
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 érhető el