Sdílet prostřednictvím


/volatileMetadata (Generování metadat pro přístupy k nestálé paměti)

Generování metadat pro přístup k nestálé paměti za účelem zlepšení výkonu při spouštění kódu x64 v ARM64.

Syntaxe

/volatileMetadata[-]

Argumenty

-
Vypne /volatileMetadata. To může mít za následek horší výkon při spuštění kódu v režimu emulace v ARM64, protože emulátor pesimisticky předpokládá, že každé zatížení a úložiště potřebuje bariéru.

Poznámky

Počínaje sadou Visual Studio 2019 16.10 /volatileMetadata je ve výchozím nastavení zapnutý při generování kódu x64. Zlepšuje výkon emulace kódu x64 v ARM64 generováním metadat, která identifikují nestálé adresy paměti. Emulátor může tato metadata použít ke zlepšení výkonu tím, že na těchto přístupech nepoužívá sémantiku získání/vydání, o kterých ví, že nejsou nestálé. Bez těchto metadat emulátor předpokládá, že všechny adresy jsou nestálé a používají sémantiku získávání a vydávání verzí.

Jedním vedlejším účinkem /volatileMetadata je, že se vygenerovaném kódu můžou zobrazovat npad makra použitá. Toto makro se rozšíří na zadaný počet NOP instrukcí, které vytvoří adresu, která se přidruží k paměťové bariérě. Tato adresa se pak zaznamená v metadatech, aby bylo možné označit, že se k ní má použít sémantika získání/vydání.

/volatileMetadata při cílení na x86 se ignoruje.

/volatileMetadatalze zakázat pomocí ./volatileMetadata-

Požadavky

Visual Studio 2019 verze 16.10 nebo novější

Viz také

Parametry kompilátoru MSVC
Syntaxe příkazového řádku kompilátoru MSVC