Are you an EPFL student looking for a semester project?
Work with us on data science and visualisation projects, and deploy your project as an app on top of Graph Search.
This lecture explores the process of efficiently implementing a new programming language in GraalVM, a high-performance multi-lingual virtual machine. The instructor demonstrates steps to create a language, from defining an executable AST to implementing an interpreter loop. The lecture delves into partial evaluation, a technique used to specialize interpreter code to a given AST, leading to significant performance improvements. Additionally, memory out-of-bounds access profiling and techniques to implement memory reads and writes in a Truffle interpreter are discussed. The lecture concludes with insights on resetting Truffle frame-slot values and the impact of escape analysis on eliminating reads and writes during compilation.