MSVC2019+ now include "volatile metadata" to the output executables to make emulation on ARM faster[0][1], though it seems to be off by default since MSVC2022, I am curious to know why they disabled it.
Microsoft now also offers an "Arm64EC" ABI, that, as I understand it, helps calling into native ARM libraries from emulated x86 code by avoiding the need to translate calling conventions, but that's mostly relevant for third-party libraries in this context (I imagine that Microsoft ships all system libraries with the "emulation compatible" ABI with Prism?).
I'd be curious to see some Prism vs FEX (vs Rosetta vs Box64) benchmarks.
[0]: https://fex-emu.com/FEX-2504/#windows-pe-volatile-metadata-s...
[1]: https://learn.microsoft.com/en-us/cpp/build/reference/volati...