SpiderMonkey is the JavaScript engine used in Mozilla Firefox. This newsletter gives an overview of the JavaScript and WebAssembly work we’ve done as part of the Firefox 100 and 101 Nightly release cycles.
WritableStream
and pipeTo
are now enabled by default (Firefox 100)We’re working on improving our implementation of modules. This includes supporting modules in Workers, adding support for Import Maps, and ESM-ification (replacing the JSM module system for Firefox internal JS code with standard ECMAScript modules).
instanceof
performance by removing the non-standard JSClass
hook, proxy trap, and by optimizing polymorphic cases better in the JITs.function.call
and function.apply
are optimized. This is more robust and fixes some performance cliffs.function.call
.slice.call(arguments)
pattern in the JITs.new.target
as a real binding.wasm::Instance
and TlsData
. This eliminates some memory loads.table.get/set
for anyref tables.memory.copy/fill
for Memory64.