Building optimising compiler for Dart
summary
A new optimizing pipeline for Dart VM actually ships a single IR for both baseline and optimizing tiers, uses inline caches primarily as type‑feedback tables (truly polymorphic ICs) rather than hand‑written fast paths, and implements concrete optimizations: type propagation from class checks, field‑type tracking, unboxing, load‑forwarding and allocation sinking. The design copies lessons from V8/Crankshaft (the V8 bump once delivered ~10–20x), prioritizes fast practical passes over exotic theory, and reports that the pipeline yields real, measurable speedups while exposing hard limits around inlining.
AI-written summary · about
chapters (6)
- 0:00Start
- 5:07memorize relation between what and where
- 13:43source
- 14:19compiler
- 24:26load forwarding
- 29:12the trap of inlining
related talks
41mRebuilding Optimizing Compiler for Dart
17mDemystifying (JavaScript) engines
32mV8 by example: A journey through the compilation pipeline
26mArchitectural Changes In New V8 versions
47mWhy Google thinks you should drop everything you do and pick up their Dart.
21mDemystifying Javascript Engines
26mPractical Optimization for V8
25mJavaScript engines how do they even?
