共用方式為


ICorProfilerFunctionControl::SetCodegenFlags 方法

可從 COR_PRF_CODEGEN_FLAGS 列舉設定一或數個旗標,以控制 Just-In-Time (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 起可用

另請參閱