Skip to content

Latest commit

 

History

History
134 lines (79 loc) · 8.96 KB

README.md

File metadata and controls

134 lines (79 loc) · 8.96 KB

A collection of links to published articles, blog posts, talks, and other important pieces of history of the SpiderMonkey JavaScript engine.

The goal is try to collect together much of what has been written about SpiderMonkey across the internet. This includes research done atop SpiderMonkey, as well as techniques and advances within the engine.

Annotations

  • 🏚 Obsolete: Code removed from today's SpiderMonkey codebase.
  • 🎓 Academic Source
  • 📄 Link to PDF
  • 📽 Video

History

General history of the SpiderMonkey JavaScript engine:

VM

Information about the SpiderMonkey Engine

Debugger

Embedding

SpiderMonkey is designed to be embedded in other programs. This section covers this embedding, and people talking about it

Exploits

Garbage Collection

Compiler Technology

SpiderMonkey has a lot of compiler technology, and has had many different JIT compilers embedded within it.

Tracemonkey 🏚

TraceMonkey was the first JIT compiler added to SpiderMonkey, and removed in Mozilla 11.

JaegerMonkey 🏚

The first method compiler added to SpiderMonkey.

IonMonkey

The second method JIT compiler in SpiderMonkey. Warp, enabled by default in Firefox 83, has replaced the graph construction (IonBuilder) portion of Ion.

Exploitation Reports

WarpBuilder

A new compiler frontend, creating MIR from bytecode, replacing the previous IonBuilder and Type Inference system.

OdinMonkey (asm.js)

Rabaldr (wasm baseline compiler)

BaldrMonkey (WebAssembly)

Baseline

CacheIR

Type Inference 🏚

(Removed in Firefox 84)

Optimization Tracking 🎓 🏚