𝔖 Bobbio Scriptorium
✦   LIBER   ✦

Annotating Java class files with virtual registers for performance

✍ Scribed by Jones, Joel ;Kamin, Samuel


Publisher
John Wiley and Sons
Year
2000
Tongue
English
Weight
156 KB
Volume
12
Category
Article
ISSN
1040-3108

No coin nor oath required. For personal study only.

✦ Synopsis


The Java .class file is a compact encoding of programs for a stack-based virtual machine. It is intended for use in a networked environment, which requires machine independence and minimized consumption of network bandwidth. However, as in all interpreted virtual machines, performance does not match that of code generated for the target machine. We propose verifiable, machine-independent annotations to the Java class file to bring the quality of the code generated by a 'just-in-time' compiler closer to that of an optimizing compiler without a significant increase in code generation time. This division of labor has expensive machine-independent analysis performed off-line and inexpensive machine-dependent codegeneration performed on the client. We call this phenomenon 'super-linear analysis and linear exploitation.' These annotations were designed mindful of the concurrency features of the Java language. In this paper we report results from our machine-independent, prioritized register assignment. We also discuss other possible annotations.