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_INLINING
和 COR_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 起可用