Demystifying JS Engines
summary
Explains how modern JS engines parse to bytecode, collect runtime type feedback and run multi‑tier JITs: SpiderMonkey uses Baseline → Ion; V8 adds an interpreter plus Crankshaft and Turbofan; JavaScriptCore moves code through Baseline, DFG, then FTL and uses LLVM/B3. Lists concrete thresholds (JSC: statement >100 or function >6 for baseline, >1,000/66 for DFG, >10,000 for FTL), shows optimizations like loop-invariant code motion, inlining and dead‑code elimination, and covers generational/incremental GC and the 50× microbenchmark anomaly.
AI-written summary · about
chapters (7)
- 0:00Introduction
- 1:37History of JS Engines
- 5:18Architectures
- 11:53Optimizations
- 13:42Dead Code Elimination
- 14:19Garbage Collection
- 16:28Conclusion
related talks
17mDemystifying (JavaScript) engines
21mDemystifying Javascript Engines
28mThe Past, Present and Future of JavaScript Engines
23mJavaScript Engines: The Good Parts™
29mJavaScript Engines: How Do They Even?
30mHow a JavaScript engine works: learn to write optimizable JS
25mJavaScript engines how do they even?
41mVirtual Machines 101
