Annotating Java class files with virtual registers for performance

Authors
Citation
J. Jones et S. Kamin, Annotating Java class files with virtual registers for performance, CONCURRENCY, 12(6), 2000, pp. 389-406
Citations number
19
Categorie Soggetti
Computer Science & Engineering
Journal title
CONCURRENCY-PRACTICE AND EXPERIENCE
ISSN journal
10403108 → ACNP
Volume
12
Issue
6
Year of publication
2000
Pages
389 - 406
Database
ISI
SICI code
1040-3108(200005)12:6<389:AJCFWV>2.0.ZU;2-P
Abstract
The Java class file is a compact encoding of programs for a stack-based vir tual machine. It is intended for use in a networked environment, which requ ires machine independence and minimized consumption of network bandwidth. H owever, as in all interpreted virtual machines, performance does not match that of code generated for the target machine. We propose verifiable, machi ne-independent annotations to the Java class file to bring the quality of t he code generated by a 'just-in-time' compiler closer to that of an optimiz ing compiler without a significant increase in code generation time. This d ivision of labor has expensive machine-independent analysis performed off-l ine and inexpensive machine-dependent code-generation performed on the clie nt. We call this phenomenon 'super-linear analysis and linear exploitation. ' These annotations were designed mindful of the concurrency features of th e Java language. In this paper we report results from our machine-independe nt, prioritized register assignment. We also discuss other possible annotat ions. Copyright (C) 2000 John Wiley & Sons, Ltd.