Firefox 148 disables SpiderMonkey’s asm.js optimizations by default; OdinMonkey will be removed entirely in a future release, succeeded by WebAssembly compilers BaldrMonkey and RabaldrMonkey.
Key Takeaways
asm.js code still runs via the regular JIT in Firefox 148+, so nothing breaks, but recompiling to WebAssembly yields faster execution and smaller binaries.
asm.js shipped in Firefox 22 (2013) and enabled Unity and Unreal to target the web via C/C++ for the first time; Epic Citadel was ported in four days.
The asm.js optimizer (OdinMonkey) is being retired because WebAssembly adoption is dominant, and keeping the parallel code path adds maintenance cost and VM attack surface.
WebAssembly’s pipeline (BaldrMonkey optimizing, RabaldrMonkey baseline) is described as significantly more advanced than the asm.js path ever was.
Hacker News Comment Review
One commenter claims a hand-tuned asm.js SHA-256 hasher still outperforms any WebAssembly equivalent, suggesting edge cases where the asm.js path had real performance headroom.
Discussion around that claim is skeptical, with replies questioning whether the result reflects a special workload or actual asm.js superiority over WebAssembly.
Notable Comments
@theultdev: Claims an asm.js SHA-256 hasher beats all WebAssembly alternatives, a concrete counterpoint to the “just recompile” guidance.