YoVDO

Automatically Generated Supernodes for AST Interpreters Improve Virtual-Machine Performance

Offered By: ACM SIGPLAN via YouTube

Tags

Abstract Syntax Tree Courses Javascript Courses Code Generation Courses Polymorphism Courses Virtual Machines Courses GraalVM Courses

Course Description

Overview

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.

Syllabus

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


Taught by

ACM SIGPLAN

Related Courses

Functional Programming Principles in Scala
École Polytechnique Fédérale de Lausanne via Coursera
Introduction à la programmation orientée objet (en Java)
École Polytechnique Fédérale de Lausanne via Coursera
Functional Program Design in Scala
École Polytechnique Fédérale de Lausanne via Coursera
Object-Oriented Programming
Indian Institute of Technology Bombay via edX
Orientação a Objetos com Java
Instituto Tecnológico de Aeronáutica via Coursera