Bagikan melalui


Metode ICorProfilerCallback::JITCachedFunctionSearchStarted

Memberi tahu profiler bahwa pencarian telah dimulai untuk fungsi yang dikompilasi sebelumnya menggunakan Generator Gambar Asli (NGen.exe).

Sintaks

HRESULT JITCachedFunctionSearchStarted(  
    [in]  FunctionID functionId,  
    [out] BOOL *pbUseCachedFunction);  

Parameter

functionId
[in] ID fungsi tempat pencarian dilakukan.

pbUseCachedFunction
[out] true jika mesin eksekusi harus menggunakan versi fungsi yang di-cache (jika tersedia); jika tidak false. Jika nilainya adalah false, mesin eksekusi JIT-mengompilasi fungsi alih-alih menggunakan versi yang tidak dikompilasi JIT.

Keterangan

Dalam .NET Framework versi 2.0, JITCachedFunctionSearchStarted panggilan balik Metode ICorProfilerCallback::JITCachedFunctionSearchFinished Method tidak akan dibuat untuk semua fungsi dalam gambar NGen reguler. Hanya gambar NGen yang dioptimalkan untuk profil yang akan menghasilkan panggilan balik untuk semua fungsi dalam gambar. Namun, karena overhead tambahan, profiler harus meminta gambar NGen yang dioptimalkan profiler hanya jika ingin menggunakan panggilan balik ini untuk memaksa fungsi dikompilasi just-in-time (JIT). Jika tidak, profiler harus menggunakan strategi malas untuk mengumpulkan informasi fungsi.

Profiler harus mendukung kasus di mana beberapa utas aplikasi yang diprofilkan memanggil metode yang sama secara bersamaan. Misalnya, utas A memanggil JITCachedFunctionSearchStarted dan profiler merespons dengan mengatur pbUseCachedFunctionke FALSE untuk memaksa kompilasi JIT. Utas A kemudian memanggil ICorProfilerCallback::JITCompilationStarted dan ICorProfilerCallback::JITCompilationFinished.

Sekarang utas B memanggil JITCachedFunctionSearchStarted untuk fungsi yang sama. Meskipun profiler telah menyatakan niatnya untuk mengompilasi JIT fungsi, profiler menerima panggilan balik kedua karena utas B mengirim panggilan balik sebelum profiler telah menanggapi panggilan utas A ke JITCachedFunctionSearchStarted. Urutan di mana utas melakukan panggilan tergantung pada bagaimana utas dijadwalkan.

Ketika profiler menerima panggilan balik duplikat, profiler harus mengatur nilai yang dirujuk oleh pbUseCachedFunction ke nilai yang sama untuk semua panggilan balik duplikat. Artinya, ketika JITCachedFunctionSearchStarted dipanggil beberapa kali dengan nilai functionId yang sama, profiler harus merespons yang sama setiap kali.

Persyaratan

Platform: Lihat Persyaratan Sistem.

Header: CorProf.idl, CorProf.h

Pustaka: CorGuids.lib

Versi .NET Framework: Tersedia mulai dari 2.0

Lihat juga