Поделиться через


Метод 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_INLINING и COR_PRF_DISABLE_OPTIMIZATIONS), и обратный вызов ICorProfilerCallback::JITInlining . JIT-компилятор имеет приоритет перед источником, запрашивающим наименьший объем оптимизации. Например, если профилировщик указывает COR_PRF_DISABLE_INLINING при запуске, но не указывает COR_PRF_CODEGEN_DISABLE_INLINING в обратном вызове ICorProfilerFunctionControl::SetCodegenFlags , встраивание по-прежнему отключено. Аналогичным образом, если профилировщик не указывает COR_PRF_CODEGEN_DISABLE_INLINING в , но затем отключает встраивание с помощью обратного вызова ICorProfilerCallback::JITInlining, встраивание отключаетсяSetCodegenFlags.

Требования

Платформы: см. раздел Требования к системе.

Заголовок: CorProf.idl, CorProf.h

Библиотека: CorGuids.lib

версии платформа .NET Framework: доступно с версии 4.5.

См. также раздел