Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Memberi tahu profiler bahwa pengompilasi just-in-time (JIT) telah mulai mengompilasi ulang fungsi.
Sintaks
HRESULT ReJITCompilationStarted(
[in] FunctionID functionId,
[in] ReJITID rejitId,
[in] BOOL fIsSafeToBlock);
Parameter
functionId
[in] ID fungsi yang telah mulai dikompilasi ulang oleh pengompilasi JIT.
rejitId
[in] ID kompilasi ulang dari fungsi versi baru.
fIsSafeToBlock
[in] true untuk menunjukkan bahwa pemblokiran dapat menyebabkan runtime menunggu utas panggilan kembali dari panggilan balik ini; false untuk menunjukkan bahwa pemblokiran tidak akan memengaruhi operasi runtime. Nilai true tidak membahayakan runtime, tetapi dapat memengaruhi hasil pembuatan profil.
Keterangan
Dimungkinkan untuk menerima lebih dari satu pasang metode panggilan ReJITCompilationStarted dan ReJITCompilationFinished untuk setiap fungsi karena cara runtime menangani konstruktor kelas. Misalnya, runtime mulai mengompilasi ulang metode A, tetapi konstruktor kelas untuk kelas B perlu dijalankan. Oleh karena itu, runtime mengompilasi ulang konstruktor untuk kelas B dan menjalankannya. Sementara konstruktor berjalan, itu membuat panggilan ke metode A, yang menyebabkan metode A dikompilasi ulang lagi. Dalam skenario ini, kompilasi ulang pertama pada metode A dihentikan. Namun, kedua upaya untuk mengompilasi ulang metode A dilaporkan dengan peristiwa kompilasi ulang JIT.
Profiler harus mendukung urutan panggilan balik kompilasi ulang JIT dalam kasus di mana dua utas membuat panggilan balik secara bersamaan. Misalnya, utas A memanggil ReJITCompilationStarted; namun, sebelum utas A memanggil ReJITCompilationFinished, utas B memanggil ICorProfilerCallback::ExceptionSearchFunctionEnter dengan ID fungsi dari panggilan balik ReJITCompilationStarted untuk utas A. Mungkin muncul bahwa ID fungsi belum valid karena panggilan ke ReJITCompilationFinished belum diterima oleh profiler. Namun, dalam hal ini, ID fungsi valid.
Persyaratan
Platform: Lihat Persyaratan Sistem.
Header: CorProf.idl, CorProf.h
Pustaka: CorGuids.lib
Versi .NET Framework: Tersedia mulai dari 4.5