Bagikan melalui


/volatileMetadata (Hasilkan metadata pada akses memori volatil)

Hasilkan metadata untuk akses memori volatil untuk meningkatkan performa saat menjalankan kode x64 di ARM64.

Sintaks

/volatileMetadata[-]

Argumen

-
Menonaktifkan /volatileMetadata. Hal ini dapat mengakibatkan performa yang lebih buruk ketika kode Anda berjalan dalam mode emulasi di ARM64 karena emulator secara pesimis mengasumsikan bahwa setiap beban/penyimpanan membutuhkan hambatan.

Keterangan

Dimulai dengan Visual Studio 2019 16.10, /volatileMetadata aktif secara default saat menghasilkan kode x64. Ini meningkatkan performa emulasi kode x64 pada ARM64 dengan menghasilkan metadata yang mengidentifikasi alamat memori volatil. Emulator dapat menggunakan metadata ini untuk meningkatkan performa dengan tidak menggunakan semantik perolehan/rilis pada akses yang diketahuinya tidak volatil. Tanpa metadata ini, emulator mengasumsikan bahwa semua alamat volatil dan menggunakan semantik perolehan dan rilis.

Salah satu efek /volatileMetadata sampingnya adalah Anda mungkin melihat npad makro yang digunakan dalam kode yang dihasilkan. Makro ini meluas ke sejumlah NOP instruksi tertentu yang membuat alamat untuk dikaitkan dengan penghubung memori. Alamat tersebut kemudian dicatat dalam metadata untuk menunjukkan bahwa semantik perolehan/rilis harus digunakan untuk mengaksesnya.

/volatileMetadata diabaikan saat menargetkan x86.

/volatileMetadata dapat dinonaktifkan dengan menggunakan /volatileMetadata-.

Persyaratan

Visual Studio 2019 versi 16.10 atau yang lebih baru.

Lihat juga

Opsi Pengkompilasi MSVC
Sintaks Baris Perintah Pengkompilasi MSVC