The Past, Present and Future of JavaScript Engines
summary
A concise history of engines, tracing Lisp JITs through three eras of optimization — a first-wave profiler-driven JIT, a multi-tier second wave, and a third wave of adaptive optimization with online feedback — and specific engine moves: V8 replaces Crankshaft with Ignition and TurboFan around 2017, JavaScriptCore adds DFG and FTL, SpiderMonkey keeps bailouts to baseline JIT, and ChakraCore experiments with interpreters plus two compilers; trade-offs are memory growth versus latency and real vulnerabilities (one year shows bounties like 60,000 USD bounty for an integer overflow).
AI-written summary · about
chapters (10)
- 0:00Intro
- 0:39Virtual Machines
- 2:38Pascal
- 3:40Adaptive Optimization
- 5:15The 90s
- 7:06The 2000s
- 13:39Tradeoffs
- 14:24Latency
- 20:00Ignition
- 21:36Vulnerabilities
related talks
17mDemystifying (JavaScript) engines
21mDemystifying Javascript Engines
18mDemystifying JS Engines
23mJavaScript Engines: The Good Parts™
29mJavaScript Engines: How Do They Even?
22mHigh Performance JS in V8
25mJavaScript engines how do they even?
30mHow a JavaScript engine works: learn to write optimizable JS
