/volatileMetadata (Generare metadati per gli accessi alla memoria volatile)

Generare metadati per gli accessi alla memoria volatile per migliorare le prestazioni durante l'esecuzione di codice x64 o x86 in ARM64.

Sintassi

/volatileMetadata[-]

Osservazioni:

A partire da Visual Studio 2022 18.6, /volatileMetadata è disattivato per impostazione predefinita e deve essere abilitato in modo esplicito. Per disabilitarla in modo esplicito, usare /volatileMetadata-. /volatileMetadata migliora le prestazioni di emulazione del codice x64 e x86 in ARM64 generando metadati che identificano gli indirizzi di memoria volatile. Un emulatore può usare questi metadati per migliorare le prestazioni non usando la semantica di acquisizione/rilascio su tali accessi che sa che non sono volatili. Senza questi metadati, l'emulatore presuppone che tutti gli indirizzi siano volatili e usi la semantica di acquisizione e rilascio.

Un effetto collaterale di /volatileMetadata è che è possibile visualizzare npad macro usate nel codice generato. Questa macro si espande fino a un numero specificato di NOP istruzioni che creano un indirizzo da associare a una barriera di memoria. Tale indirizzo viene quindi registrato nei metadati per indicare che la semantica di acquisizione/rilascio deve essere usata per accedervi.

Annotazioni

In Visual Studio 2019 versione 16.10 fino a Visual Studio 2022, /volatileMetadata è stato attivato per impostazione predefinita. A partire da Visual Studio 2022 18.6, /volatileMetadata è disattivato per impostazione predefinita.

Requisiti

Visual Studio 2019 versione 16.10 o successiva.

Vedi anche

Opzioni del compilatore MSVC
Sintassi della riga di comando del compilatore MSVC