Метод 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.