ICorProfilerCallback::JITCachedFunctionSearchStarted Yöntemi
Daha önce Yerel Görüntü Oluşturucu (NGen.exe) kullanılarak derlenmiş bir işlev için bir aramanın başlatıldığını profil oluşturucuya bildirir.
Sözdizimi
HRESULT JITCachedFunctionSearchStarted(
[in] FunctionID functionId,
[out] BOOL *pbUseCachedFunction);
Parametreler
functionId
[in] Aramanın gerçekleştirildiği işlevin kimliği.
pbUseCachedFunction
[out] true
yürütme altyapısının bir işlevin önbelleğe alınmış sürümünü kullanması gerekiyorsa (varsa); aksi takdirde false
. değeri ise false
, yürütme altyapısı JIT ile derlenmeyen bir sürüm kullanmak yerine işlevi derler.
Açıklamalar
.NET Framework sürüm 2.0'da ve JITCachedFunctionSearchStarted
ICorProfilerCallback::JITCachedFunctionSearchFinished Yöntemi geri çağırmaları normal NGen görüntülerindeki tüm işlevler için yapılmaz. Yalnızca bir profil için iyileştirilmiş NGen görüntüleri görüntüdeki tüm işlevler için geri çağırmalar oluşturur. Ancak, ek yük nedeniyle, profil oluşturucunun profil oluşturucu tarafından iyileştirilmiş NGen görüntülerini istemesi, ancak bir işlevin tam zamanında derlenmesini (JIT) zorlamak için bu geri çağırmaları kullanmayı amaçlaması gerekir. Aksi takdirde, profil oluşturucu işlev bilgilerini toplamak için yavaş bir strateji kullanmalıdır.
Profil oluşturucular, profili oluşturulmuş bir uygulamanın birden çok iş parçacığının aynı yöntemi aynı anda çağırdığı durumları desteklemelidir. Örneğin, iş parçacığı A çağrıları JITCachedFunctionSearchStarted
ve profil oluşturucu, JIT derlemesini zorlamak için pbUseCachedFunctiondeğerini FALSE olarak ayarlayarak yanıt verir. İş Parçacığı A daha sonra ICorProfilerCallback::JITCompilationStarted ve ICorProfilerCallback::JITCompilationFinished'i çağırır.
Şimdi iş parçacığı B aynı işlevi çağırır JITCachedFunctionSearchStarted
. Profil oluşturucu işlevi JIT ile derleme amacını belirtmiş olsa da, B iş parçacığı A'nın çağrısına yanıt vermeden önce geri çağırmayı gönderdiğinden profil oluşturucu ikinci geri çağırmayı JITCachedFunctionSearchStarted
alır. İş parçacıklarının çağrı yapma sırası, iş parçacıklarının nasıl zamanlandığına bağlıdır.
Profil oluşturucu yinelenen geri çağırmalar aldığında, tarafından başvuruda bulunan pbUseCachedFunction
değeri tüm yinelenen geri çağırmalar için aynı değere ayarlaması gerekir. Başka bir ifadeyle, aynı functionId
değere sahip birden çok kez çağrıldığında JITCachedFunctionSearchStarted
profil oluşturucunun her seferinde aynı yanıtı vermesi gerekir.
Gereksinimler
Platform: Bkz. Sistem Gereksinimleri.
Üstbilgi: CorProf.idl, CorProf.h
Kitaplığı: CorGuids.lib
.NET Framework Sürümleri: 2.0 sürümünden itibaren kullanılabilir