Freigeben über


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

Siehe auch