Deep Dive into the Compose Compiler
summary
Explains how the Compose compiler actually builds a slot table (pages of 64 slots, gap buffer today, new linked‑page PR in progress) and how the compiler plugin generates IR that injects a composer into each restartable composable; shows primitive and reference slot pages, group addresses and packed bit metadata, the recomposer → applier flow, and the update path that produces a changes list (about 35 operation kinds) applied in batch to update UI nodes.
AI-written summary · about
chapters (16)
- 0:00Compose Compiler intro
- 1:10Compose architecture
- 2:13Compose for business logic
- 6:54Subway app analogy
- 8:21Slot table purpose
- 11:55Slot table structure
- 15:48Group metadata relationships
- 17:57State tracking with slots
- 20:45Composer engine
- 22:11Initial composition setup
- 25:50IR code restart groups
- 30:47Recomposition scope
- 34:01Updating slot table
- 38:14UI tree changes
- 39:19Live Compose source walkthrough
- 45:43Kotlin compiler repos
related talks
41mDeep Dive into the Compose Compiler
41mDemystifying the Compose Runtime & Compiler
40mJetpack Compose Mechanisms
28mA Hitchhiker's Guide to Compose Compiler: Composers, Compiler Plugins, and Snapshots
49mWhat does Recomposition mean to your app?
29mA Hitchhiker's Guide to Compose Compiler: Composers, Compiler Plugins, and Snapshots
55mWhat does Recomposition mean to your app
40mThe Compose Runtime, Demystified
