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.
Automatically Generated Supernodes for AST Interpreters Improve Virtual-Machine Performance
ACM SIGPLAN via YouTube
Overview
Syllabus
[GPCE23] Automatically Generated Supernodes for AST Interpreters Improve Virtual-machine P...
Taught by
ACM SIGPLAN