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.