Machines and Code Analysis - What makes Dart and Flutter run
summary
Explains how Dart moves from source to machine with concrete steps: front end produces the kernel IR (serialized AST), back end (Dart VM / AOT/JIT) emits platform-specific code and an ARM64 example shows tagging where integers are shifted so a literal two appears as hex 4 in generated code. Mentions practical tools: the analyzer package for building a tree-walking interpreter, the VM service protocol powering hot reload and the dev-only debugger, and the move from Skia to Impeller with precompiled shaders.
AI-written summary · about
chapters (12)
- 0:00Compilers and Dart runtime
- 1:50How code executes
- 3:58AOT vs JIT in Dart
- 8:31Dart compilation pipeline
- 12:48Dart VM and machine code
- 17:25Bootstrapped languages in Dart
- 18:08Dart analyzer for code
- 19:11Live Dart interpreter
- 24:57Dart VM debugging
- 27:21Flutter architecture and bridge
- 31:53Rendering pipeline to Skia
- 34:01Q&A
related talks
34mMachines and Code Analysis - What makes Dart and Flutter run
23mAOT compiling Dart for iOS Android
46mHow I Stopped Being Afraid and Learned to Love the Dart Compiler
55mCompilers. Dalvik. ART. And everything in between
42mUnderstanding the Kotlin to Dalvik bytecode translation
10mA quick view into a compiler
44mA Deep Dive into Dart FFI
52mA bird's eye view of a compiler
