@gron

Interpretizer: A Compiler-Independent Conversion of Switch-Based Dispatch into Threaded Code

. Software Technology: Methods and Tools, page 59--72. Cham, Springer, (2019)

Abstract

Performance of program bytecode interpretation depends significantly from instruction dispatch technique implemented in the virtual machine. Threaded code is a well-known approach of instruction dispatch implementation of efficient interpreters. However, the plurality of current high-level programming languages and popular compilers are limited in support of threaded code and enforce designers of interpreters to either stick to GCC compiler which supports ``Labels as Values'' custom C extension or to resort to the implementation of a dispatch loop in assembler. In this work, we present the Interpretizer, a standalone tool which can be integrated into arbitrary interpreter build toolchain readily and transparently and which effectively converts switch-based dispatch loops into efficient threaded code. Therefore, Interpretizer reverts to the virtual machine designers flexibility of choice of programming language and compiler while it preserves the efficiency of the produced interpreter.

Description

Interpretizer: A Compiler-Independent Conversion of Switch-Based Dispatch into Threaded Code | SpringerLink

Links and resources

Tags

community

  • @gron
  • @dblp
@gron's tags highlighted