Compartir vía


/volatileMetadata (Generación de metadatos en accesos de memoria volátiles)

Genere metadatos para acceder a memoria volátil para mejorar el rendimiento al ejecutar código x64 en ARM64.

Sintaxis

/volatileMetadata[-]

Argumentos

-
/volatileMetadataDesactiva . Esto puede provocar un rendimiento peor cuando el código se ejecuta en modo de emulación en ARM64 porque el emulador supone pesimistamente que cada carga o almacén necesita una barrera.

Comentarios

A partir de Visual Studio 2019 16.10, /volatileMetadata está activado de forma predeterminada al generar código x64. Mejora el rendimiento de emulación del código x64 en ARM64 mediante la generación de metadatos que identifican direcciones de memoria volátiles. Un emulador puede usar estos metadatos para mejorar el rendimiento sin usar la semántica de adquisición o versión en esos accesos que sabe que no son volátiles. Sin estos metadatos, el emulador supone que todas las direcciones son volátiles y usa la semántica de adquisición y versión.

Un efecto secundario de /volatileMetadata es que puede ver npad macros usadas en el código generado. Esta macro se expande a un número especificado de instrucciones que crean una dirección que se va a asociar a una barrera de NOP memoria. A continuación, esa dirección se registra en los metadatos para indicar que se debe usar la semántica de adquisición o versión para acceder a ella.

/volatileMetadata se omite cuando el destino es x86.

/volatileMetadata se puede deshabilitar mediante /volatileMetadata-.

Requisitos

Visual Studio 2019, versión 16.10 o posterior.

Consulte también

Opciones del compilador de MSVC
Sintaxis de la línea de comandos del compilador MSVC