V8 and How It Listens to You
summary
V8 now runs source through Ignition to collect a feedback vector then feeds hot functions to TurboFan and emits machine code that embeds object maps so loads become single instructions the optimizer triggers after ~100k–200k calls and requires at least 25% of ICs to have type info (and rejects if >30% are generic). Deoptimization builds a full interpreted stack and is very expensive; the pipeline works but polymorphic and stale ICs cause surprising slowdowns.
AI-written summary · about
chapters (9)
- 0:00Start
- 8:38INLINE CACHES TO MAINTAIN AND OBSERVE LAYOUT
- 14:58FEEDBACK WORKFLOW
- 15:23PARSING
- 15:57COMPILING BYTECODE
- 17:04PROFILING
- 23:41THINGS TO CONSIDER WHEN OPTIMIZING
- 26:44OPTIMIZED EXECUTION
- 27:27CONCLUSION
related talks
32mV8 by example: A journey through the compilation pipeline
26mArchitectural Changes In New V8 versions
01h 00mV8 Under the Hood
23mJoin the super secret V8 club & become a JavaScriptbender
24mA Tale of TurboFan: Four Years That Changed V8 Forever
17mV8 engine, JS Code Interpretation, and Execution
33mJavaScript: The V8 Engine optimization tips (...)
25mPerformance profiling for V8
