Lecture Notes in Computer Science, 2003, Volume 2622/2003, 170-184, DOI: 10.1007/3-540-36579-6_13

Effective Inline-Threaded Interpretation of Java Bytecode Using Preparation Sequences

Etienne Gagnon and Laurie Hendren

View Related Documents

Abstract

Inline-threaded interpretation is a recent technique that improves performance by eliminating dispatch overhead within basic blocks for interpreters written in C [11]. The dynamic class loading, lazy class initialization, and multi-threading features of Java reduce the effiectiveness of a straight-forward implementation of this technique within Java interpreters. In this paper, we introduce preparation sequences, a new technique that solves the particular challenge of effiectively inline-threading Java. We have implemented our technique in the SableVM Java virtual machine, and our experimental results show that using our technique, inline-threaded interpretation of Java, on a set of benchmarks, achieves a speedup ranging from 1.20 to 2.41 over switch-based interpretation, and a speedup ranging from 1.15 to 2.14 over direct-threaded interpretation.
This research was partly supported by NSERC, FCAR and Hydro-Québec. G. Hedin (Ed.): CC 2003, LNCS 2622, pp., 2003.

Fulltext Preview

Image of the first page of the fulltext document