Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!
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.