/volatileMetadata (Generera metadata för flyktiga minnesåtkomster)

Generera metadata för flyktiga minnesåtkomster för att förbättra prestanda vid körning av x64- eller x86-kod på ARM64.

Syntax

/volatileMetadata[-]

Remarks

Från och med Visual Studio 2022 18.6 är /volatileMetadata inaktiverad som standard och måste vara explicit aktiverad. Om du vill inaktivera det uttryckligen använder du /volatileMetadata-. /volatileMetadata förbättrar emuleringsprestandan för x64- och x86-kod på ARM64 genom att generera metadata som identifierar flyktiga minnesadresser. En emulator kan använda dessa metadata för att förbättra prestanda genom att inte använda hämta/släppa semantik på de åtkomster som den vet inte är flyktiga. Utan dessa metadata förutsätter emulatorn att alla adresser är flyktiga och använder hämta och släppa semantik.

En bieffekt av /volatileMetadata är att du kan se npad makron som används i den genererade koden. Det här makrot utökas till ett angivet antal NOP instruktioner som skapar en adress som ska associeras med en minnesbarriär. Den adressen registreras sedan i metadata för att indikera att hämta/släppa semantik ska användas för att komma åt den.

Anmärkning

I Visual Studio 2019 version 16.10 till och med Visual Studio 2022 var /volatileMetadata på som standard. Från och med Visual Studio 2022 18.6 är /volatileMetadata inaktiverad som standard.

Requirements

Visual Studio 2019 version 16.10 eller senare.

Se även

MSVC-kompilatoralternativ
MSVC-kompilator Command-Line syntax