JVM '02 Abstract
Supporting Binary Compatibility with Static
Dachuan Yu, Zhong Shao, and Valery Trifonov, Department of Computer Science, Yale University
There is an ongoing debate
in the Java community on whether statically compiled implementations
can meet the Java specification on dynamic features such as
Static compilation is sometimes desirable because it provides
better code optimization, smaller memory footprint, more robustness, and
better intellectual property protection.
Unfortunately, none of the existing static Java compilers support
binary compatibility, because it incurs unacceptable performance overhead.
In this paper, we propose a simple yet effective solution which handles
all of the binary-compatibility cases specified by the Java Language
Specification. Our experimental results using an implementation in the
GNU Java compiler
shows that the performance penalty is on average less than 2%.
Besides solving the problem for static compilers, it is also possible to
use this technique in JIT compilers to achieve an optimal
balance point between static and dynamic compilation.
- View the full text of this paper in
PostScript. Until August 2003, you will need your USENIX membership identification in order to access the full papers.
The Proceedings are published as a collective work, © 2002 by the USENIX Association. All Rights Reserved. Rights to individual papers remain with the author or the author's employer. Permission is granted for the noncommercial reproduction of the complete work for educational or research purposes. USENIX acknowledges all trademarks within this paper.
- If you need the latest Adobe Acrobat Reader, you can download it from Adobe's site.
- To become a USENIX Member, please see our Membership Information.