/volatileMetadata (Создание метаданных при доступе к переменной памяти)

Создайте метаданные для доступа к переменной памяти для повышения производительности при выполнении кода x64 или x86 в ARM64.

Синтаксис

/volatileMetadata[-]

Замечания

Начиная с Visual Studio 2022 18.6, /volatileMetadata отключен по умолчанию и должен быть явно включен. Чтобы явно отключить его, используйте /volatileMetadata-. /volatileMetadata повышает производительность эмуляции кода x64 и x86 в ARM64 путем создания метаданных, определяющих адреса переменной памяти. Эмулятор может использовать эти метаданные для повышения производительности, не используя семантику получения и выпуска для тех, к которым он знает, не является переменным. Без этих метаданных эмулятор предполагает, что все адреса являются переменными и используют семантику получения и выпуска.

Одним из побочных эффектов /volatileMetadata является просмотр npad макросов, используемых в созданном коде. Этот макрос расширяется до указанного количества инструкций NOP , которые создают адрес для связывания с барьером памяти. Затем этот адрес записывается в метаданные, чтобы указать, что семантика получения и выпуска должна использоваться для доступа к нему.

Замечание

В Visual Studio 2019 версии 16.10 до Visual Studio 2022 /volatileMetadata по умолчанию. Начиная с Visual Studio 2022 18.6 /volatileMetadata по умолчанию отключен.

Требования

Visual Studio 2019 версии 16.10 или более поздней.

См. также

Параметры компилятора MSVC
Синтаксис командной строки компилятора MSVC