It's worth mentioning that the initial version of this didn't use WebAssembly. Bellard literally implemented i386/PC emulation in pure JavaScript (ES5) back in 2011.
It did require W3C Typed Arrays to perform decently, but I remember with polyfills it even ran in the contemporary version of Internet Explorer (9 if memory serves correctly?)