ICorProfilerFunctionControl::SetCodegenFlags Yöntemi
Tam zamanında (JIT) yeniden derlenmiş bir işlev için kod oluşturmayı denetlemek için COR_PRF_CODEGEN_FLAGS numaralandırmasından bir veya daha fazla bayrak ayarlar.
Sözdizimi
HRESULT SetCodegenFlags(
[in] DWORD flags);
Parametreler
flags
[in] COR_PRF_CODEGEN_FLAGS numaralandırmasından bir veya daha fazla bayrak.
Açıklamalar
Profil oluşturucu, ICorProfilerCallback4::GetReJITParameters geri çağırması aracılığıyla bu arabirimin bir örneğini alır. SetCodegenFlags
profil oluşturucunun yeniden derlenen işlev için kod oluşturmayı denetlemesine izin verir. Diğer tüm JIT yeniden derleme parametrelerinde olduğu gibi, kod oluşturma bayrakları işlevin tüm örneklerine uygulanır.
JIT derleyicisi, bir işlevi derlerken diğer kaynaklar tarafından belirtilen diğer bayraklarla birlikte bu derleme bayraklarını dikkate alır. Diğer kaynaklar arasında hata ayıklayıcı, başlangıçta profil oluşturucu tarafından ICorProfilerInfo::SetEventMask yöntemi (ve COR_PRF_DISABLE_OPTIMIZATIONS
değerleriyle) kullanılarak ayarlanan genel bayraklar COR_PRF_DISABLE_INLINING
ve profil oluşturucunun ICorProfilerCallback::JITInlining geri çağırması bulunur. JIT derleyicisi, en az iyileştirme isteyen bir kaynağa öncelik verir. Örneğin, profil oluşturucu başlangıçta belirtiyorsa COR_PRF_DISABLE_INLINING
ancak ICorProfilerFunctionControl::SetCodegenFlags geri çağırmasında belirtmiyorsaCOR_PRF_CODEGEN_DISABLE_INLINING
, inlining hala devre dışıdır. Benzer şekilde, profil oluşturucu içinde SetCodegenFlags
belirtmezse COR_PRF_CODEGEN_DISABLE_INLINING
ama sonra ICorProfilerCallback::JITInlining geri aramasını kullanarak gelenleri devre dışı bırakırsa, inlining devre dışı bırakılır.
Gereksinimler
Platform: Bkz. Sistem Gereksinimleri.
Üstbilgi: CorProf.idl, CorProf.h
Kitaplığı: CorGuids.lib
.NET Framework Sürümleri: 4.5 sürümünden itibaren kullanılabilir
Ayrıca bkz.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin