Automatically Generated Supernodes for AST Interpreters Improve Virtual-Machine Performance
ACM SIGPLAN via YouTube
Learn the Skills Netflix, Meta, and Capital One Actually Hire For
Lead AI-Native Products with Microsoft's Agentic AI Program
Overview
AI, Data Science & Cloud Certificates from Google, IBM & Meta — 40% Off
One plan covers every Professional Certificate on Coursera. 40% off Coursera Plus Annual.
Unlock All Certificates
Explore a novel technique for improving the performance of Abstract Syntax Tree (AST) interpreters in this 29-minute conference talk from GPCE 2023. Delve into the challenges faced by AST interpreters implemented in object-oriented languages, particularly focusing on performance issues related to polymorphic call sites and costly runtime exceptions. Learn about an innovative approach that automatically generates AST supernodes ahead-of-time, encoding the behavior of multiple primitive AST nodes before application execution. Discover how this method extracts common control-flow structures from given ASTs, employs matchmaking of AST structures, and replaces subtrees with instantiated supernodes at load-time. Examine the implementation of this technique in the GraalVM JavaScript engine and understand its impact on interpreter speedup, steady-state performance, and just-in-time compilation efficiency. Gain insights into how this approach can significantly enhance both interpreter and overall virtual machine performance, potentially revolutionizing the field of programming language implementation.
Syllabus
[GPCE23] Automatically Generated Supernodes for AST Interpreters Improve Virtual-machine P...
Taught by
ACM SIGPLAN