Aracılığıyla paylaş


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 JITCachedFunctionSearchStartedICorProfilerCallback::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ı JITCachedFunctionSearchStartedalı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

Ayrıca bkz.