Abstract

Most modern languages are implemented using Virtual Machines (VMs). While the best \VMs\ use Just-In-Time (JIT) compilers to achieve good performance, \JITs\ are costly to implement, and few \VMs\ therefore come with one. The \RPython\ language allows tracing \JIT\ \VMs\ to be automatically created from an interpreter, changing the economics of \VM\ implementation. In this paper, we explain, through two concrete VMs, how meta-tracing \RPython\ \VMs\ can be designed and optimised, and, experimentally, the performance levels one might reasonably expect from them.

Description

The impact of meta-tracing on VM design and implementation

Links and resources

Tags