~/talk

Flow-Analysis-Based Closure Optimization

Talkat PLDI 2026 · 2026-06-15..06-19· [compilers-and-language-design]
links:none on file
links:none on file
links:none on file
slides:none on file

Implementation in Standard ML of New Jersey with an LLVM backend uses a sparse zero-CFA to guide concrete closure-representation decisions: selective heap tuple sharing and controlled spreading into registers while preserving safe-for-space guarantees. The compiler rewrites layouts per closure class (bipartite def–use components) and evaluates on x86-64 and ARM64; results show a 10% geometric mean speedup, a best-case 1.7× runtime improvement and allocation reductions down to 16% of the baseline.

AI-written summary · about

  1. 0:00Closure optimization intro
  2. 1:46Flat closure trade-offs
  3. 3:12Why nested closures
  4. 4:18Sharing closures to reduce alloc
  5. 5:40Space leaks in sharing
  6. 6:46Closure compaction for hot paths
  7. 7:30Spreading closures across regs
  8. 9:55Flow analysis for smart decisions
  9. 11:19Higher-order flow analysis in SML/NJ
  10. 12:42Control-flow for optimization
  11. 13:03Closure class analysis
  12. 14:06Layout and rewriting
  13. 15:09Baseline vs SML/NJ
  14. 15:53ARM64 performance
  15. 16:57Related work on closures
  16. 17:42Q&A calling conventions
  17. 18:44Q&A space leaks
  18. 19:48Q&A profile-guided opt
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.