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