ICorProfilerFunctionControl::SetCodegenFlags-Methode
Legt ein oder mehrere Flags aus der COR_PRF_CODEGEN_FLAGS-Enumeration fest, um die Codegenerierung für eine erneut Just-In-Time kompilierte Funktion zu steuern.
Syntax
HRESULT SetCodegenFlags(
[in] DWORD flags);
Parameter
flags
[in] Mindestens ein Flag aus der COR_PRF_CODEGEN_FLAGS-Enumeration.
Bemerkungen
Der Profiler ruft eine Instanz dieser Schnittstelle durch den ICorProfilerCallback4::GetReJITParameters-Rückruf ab. SetCodegenFlags
ermöglicht dem Profiler, die Codegenerierung für die erneut kompilierte Funktion zu steuern. Wie bei allen anderen JIT-Neukompilierungsparametern gelten die Codegenerierungsflags für alle Instanzen der Funktion.
Der JIT-Compiler berücksichtigt diese Kompilierungsflags zusammen mit anderen Flags, die von anderen Quellen angegeben werden, beim Kompilieren einer Funktion. Zu den anderen Quellen gehören der Debugger, globale Flags, die vom Profiler beim Start mithilfe der ICorProfilerInfo::SetEventMask-Methode (mit den Werten COR_PRF_DISABLE_INLINING
und COR_PRF_DISABLE_OPTIMIZATIONS
) festgelegt wurden, und der ICorProfilerCallback::JITInlining-Rückruf des Profilers. Der JIT-Compiler gibt einer Quelle Vorrang, die den geringsten Optimierungsaufwand erfordert. Wenn der Profiler beispielsweise beim Start COR_PRF_DISABLE_INLINING
angibt, aber COR_PRF_CODEGEN_DISABLE_INLINING
nicht im ICorProfilerFunctionControl::SetCodegenFlags-Rückruf angibt, ist Inlining weiterhin deaktiviert. Ähnlich verhält es sich, wenn der Profiler COR_PRF_CODEGEN_DISABLE_INLINING
nicht in SetCodegenFlags
angibt, dann aber das Inlining mit dem ICorProfilerCallback::JITInlining-Rückruf deaktiviert, wird das Inlining deaktiviert.
Anforderungen
Plattformen: Informationen finden Sie unter Systemanforderungen.
Header: CorProf.idl, CorProf.h
Bibliothek: CorGuids.lib
.NET Framework-Versionen: seit Version 4.5 verfügbar