Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Generieren Sie Metadaten für veränderliche Speicherzugriffe, um die Leistung beim Ausführen von x64- oder x86-Code auf ARM64 zu verbessern.
Syntax
/volatileMetadata[-]
Hinweise
Ab Visual Studio 2022 18.6 ist /volatileMetadata standardmäßig deaktiviert und muss explizit aktiviert sein. Um sie explizit zu deaktivieren, verwenden Sie /volatileMetadata-.
/volatileMetadata verbessert die Emulationsleistung von x64- und x86-Code auf ARM64, indem Metadaten generiert werden, die veränderliche Speicheradressen identifizieren. Ein Emulator kann diese Metadaten verwenden, um die Leistung zu verbessern, indem keine Akquis/Release-Semantik für diese zugriffe verwendet wird, die bekannt ist, dass sie nicht veränderlich sind. Ohne diese Metadaten geht der Emulator davon aus, dass alle Adressen veränderlich sind und Die Semantik abrufen und freigeben.
Ein Nebeneffekt /volatileMetadata ist, npad dass Makros im generierten Code verwendet werden. Dieses Makro wird auf eine bestimmte Anzahl von Anweisungen erweitert, mit denen NOP eine Adresse erstellt wird, die einer Speicherbarriere zugeordnet werden soll. Diese Adresse wird dann in den Metadaten aufgezeichnet, um anzugeben, dass die Kauf-/Freigabesemantik für den Zugriff darauf verwendet werden soll.
Hinweis
In Visual Studio 2019, Version 16.10 bis Visual Studio 2022, war /volatileMetadata standardmäßig aktiviert. Ab Visual Studio 2022 18.6 ist /volatileMetadata standardmäßig deaktiviert.
Anforderungen
Visual Studio 2019 Version 16.10 oder höher.
Siehe auch
MSVC-Compileroptionen
Syntax für die MSVC-Compilerbefehlszeile