~/talk

Automatically Generated Supernodes for AST Interpreters Improve Virtual-machine P...

Talkat GPCE 2023 · 2023-10-22..10-23· [javascript, compilers-and-language-design]
links:none on file
links:none on file
links:none on file
slides:none on file

Generates ahead-of-time generated AST supernodes for GraalVM JavaScript (GraalJS/Truffle), creates a prefix lookup trie of supernode structures, and installs matching compound node instances at load time to replace control-flow subtrees. Results show interpreter speedups up to 1.55x and 1.24x on average, steady-state 1.14x average, and JIT compilation speedup 1.33x average (compilation speedups up to 2.86x, two slowdowns). Technique reduces polymorphic call sites and exception-based control flow at the cost of increased VM startup time and larger interpreter binaries.

AI-written summary · about

  1. 0:00Introduction
  2. 0:23AST interpreter performance
  3. 1:47Supernodes technique overview
  4. 2:30AST interpreters background
  5. 4:17GraalVM JavaScript implementation
  6. 5:21Fibonacci motivating example
  7. 7:55Supernode generation details
  8. 8:56Lookup tree generation
  9. 10:41Supernode structure and IDs
  10. 11:26Lookup tree algorithm
  11. 13:56Supernode installation at runtime
  12. 15:22Evaluation setup
  13. 16:03Interpreter performance results
  14. 16:49JIT compilation impact
  15. 17:32Compilation time analysis
  16. 18:16Limitations and future work
  17. 18:59Conclusion
  18. 20:03Q&A
  19. 20:24Top-down supernode reasoning
  20. 21:53Supernodes across benchmarks
  21. 23:17Extending to other platforms
  22. 24:41Adapting to VM models
  23. 26:28Non-control flow challenges
  24. 28:13Type specialization in supernodes
~/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.