/volatileMetadata (Gerar metadados sobre acessos de memória volátil)

Gerar metadados para acessos de memória volátil para melhorar o desempenho ao executar código x64 ou x86 no ARM64.

Sintaxe

/volatileMetadata[-]

Remarks

A partir de Visual Studio 2022 18.6, /volatileMetadata está desligado por defeito e deve estar explicitamente ativado. Para o desativar explicitamente, use /volatileMetadata-. /volatileMetadata melhora o desempenho de emulação de código x64 e x86 no ARM64 ao gerar metadados que identificam endereços de memória voláteis. Um emulador pode usar estes metadados para melhorar o desempenho ao não usar semântica de adquirir/libertar nesses acessos que sabe que não são voláteis. Sem estes metadados, o emulador assume que todos os endereços são voláteis e utiliza a semântica de aquisição e liberação.

Um efeito secundário é /volatileMetadata que podes ver npad macros usadas no código gerado. Esta macro expande-se para um número especificado de NOP instruções que criam um endereço a associar a uma barreira de memória. Esse endereço é então registado nos metadados para indicar que a semântica de adquirir/libertar deve ser usada para o aceder a ele.

Observação

Em Visual Studio versão 16.10 de 2019 até Visual Studio 2022, /volatileMetadata estava ativado por defeito. A partir de Visual Studio 2022 18.6, /volatileMetadata está desligado por defeito.

Requisitos

Visual Studio 2019 versão 16.10 ou posterior.

Ver também

Opções do Compilador MSVC
Compilador MSVC Command-Line de sintaxe