~/talk

Optimistic Stack Allocation and Dynamic Heapification for Managed Runtimes

Talkat PLDI 2024 · 2024-06-24..06-28· [web-performance]
links:none on file
links:none on file
links:none on file
links:none on file
links:none on file
links:none on file
links:none on file
links:none on file
slides:none on file

Static + dynamic system uses a precise static escape analysis (built in Soot) to emit optimistic stack allocations into the OpenJ9 JIT, and when runtime features invalidate assumptions it performs dynamic heapification of the escaping object and its reachable closure while fixing references. A static stack ordering reduces expensive stack-walk checks. Implemented in Soot and Eclipse OpenJ9, it increases stack-allocated objects by ~71% and stack bytes by ~54%, yields ~8.8% average runtime speedup, cuts GC cycles by ~5.3%, and reports ~1s cost per million heapifications.

AI-written summary · about

  1. 0:00Stack allocation in Java
  2. 2:26Escape analysis limits
  3. 3:32Escape analysis failure example
  4. 5:40Dynamic heapification fix
  5. 6:44Heapification store checks
  6. 8:29Heapification scenarios
  7. 10:13Efficient stack ordering
  8. 11:40Implementation setup
  9. 12:23Stack allocation results
  10. 13:29Performance impact
  11. 14:10GC reduction with stack
  12. 14:31Conclusion
  13. 15:15Q&A
~/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.