Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Generowanie metadanych dla nietrwałych dostępu do pamięci w celu zwiększenia wydajności podczas uruchamiania kodu x64 w usłudze ARM64.
Składnia
/volatileMetadata[-]
Argumenty
-
Wyłącza funkcję /volatileMetadata. Może to spowodować pogorszenie wydajności, gdy kod działa w trybie emulacji w usłudze ARM64, ponieważ emulator pesymistycznie zakłada, że każde obciążenie/magazyn wymaga bariery.
Uwagi
Począwszy od programu Visual Studio 2019 16.10, /volatileMetadata jest domyślnie włączony podczas generowania kodu x64. Poprawia wydajność emulacji kodu x64 w usłudze ARM64, generując metadane identyfikujące nietrwałe adresy pamięci. Emulator może użyć tych metadanych, aby zwiększyć wydajność, nie używając semantyki uzyskiwania/wydawania tych, do których uzyskuje dostęp, nie są niestabilne. Bez tych metadanych emulator zakłada, że wszystkie adresy są nietrwałe i używają semantyki uzyskiwania i wydawania.
Jednym z efektów ubocznych /volatileMetadata jest to npad , że makra są używane w wygenerowany kod. To makro rozszerza określoną liczbę instrukcji NOP , które tworzą adres do skojarzenia z barierą pamięci. Ten adres jest następnie rejestrowany w metadanych, aby wskazać, że semantyka uzyskiwania/wydawania powinna być używana do uzyskiwania do niego dostępu.
/volatileMetadata element jest ignorowany podczas określania wartości docelowej x86.
/volatileMetadata można wyłączyć za pomocą polecenia /volatileMetadata-.
Wymagania
Visual Studio 2019 w wersji 16.10 lub nowszej.
Zobacz też
Opcje kompilatora MSVC
Składnia wiersza polecenia kompilatora MSVC