/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
-
/volatileMetadata
Desactiva . 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