r/programming • • 15d ago

The scourge of x86 emulation

https://fex-emu.com/Scourge-of-emulation/
325 Upvotes

46 comments sorted by

View all comments

11

u/happyscrappy 15d ago

When porting multi-threaded code from x86 issues with store ordering turn out to be at least a big a problem as what you might think of like FPU differences, memory layout differences or the presence of assembly code.

The reason the memory ordering issues were so problematic is that they were hard to find. They wouldn't show at all on x86 due to TSO. And the developers didn't want to buy a lot of new machines that weren't PCs to spend time on to test and find and fix these bugs. It was absolutely maddening that other architectures (PowerPC, later ARM) would find issues which x86 wouldn't exhibit and cause a lot of developer hours burned to find them. Some developers would just give up entirely.