ICorProfilerFunctionControl::SetCodegenFlags 方法

COR_PRF_CODEGEN_FLAGS 枚举设置一个或多个标志,从而控制实时 (JIT) 重新编译函数的代码生成。

语法

HRESULT SetCodegenFlags(  
    [in] DWORD flags);  

参数

flags
[in] COR_PRF_CODEGEN_FLAGS 枚举中的一个或多个标志。

注解

探查器将通过 ICorProfilerCallback4::GetReJITParameters 回调获得此接口的实例。 SetCodegenFlags 允许探查器控制重新编译函数的代码生成。 与所有其他 JIT 重新编译参数一样,代码生成标志适用于函数的所有实例。

编译函数时,JIT 编译器会考虑这些编译标志以及其他源指定的其他标志。 其他源包括调试程序、探查器在启动时使用 ICorProfilerInfo::SetEventMask 方法设置的全局标志(值为 COR_PRF_DISABLE_INLININGCOR_PRF_DISABLE_OPTIMIZATIONS),以及探查器的 ICorProfilerCallback::JITInlining 回调。 JIT 编译器优先考虑请求最少优化的源。 例如,如果探查器在启动时指定 COR_PRF_DISABLE_INLINING,但在 ICorProfilerFunctionControl::SetCodegenFlags 回调中未指定 COR_PRF_CODEGEN_DISABLE_INLINING,则内联仍处于禁用状态。 同样,如果探查器未在 SetCodegenFlags 中指定 COR_PRF_CODEGEN_DISABLE_INLINING,但随后使用 ICorProfilerCallback::JITInlining 回调禁用内联,则内联处于禁用状态。

要求

平台:请参阅系统要求

头文件: CorProf.idl、CorProf.h

库:CorGuids.lib

.NET Framework 版本:自 4.5 起可用

另请参阅