Zoran Budimlic and Ken Kennedy (2005)
Compiling Almost-Whole Java Programs
Concurrency and Computation: Practice and Experience, Volume 17(5):pp. 573-588.
This paper presents the motivation and an implementation strategy for a new almost-whole-program compilation framework for Java programs. This framework improves the flexibility of the generated code, while still permitting whole-program optimizations and incurring only modest performance penalties. It enables the programmer to balance performance and flexibility of the program after the development phase, instead of compromising the design process for ht esake of performance. The almost-whole-program compilation framwork uses Java visiblity and scoping rules to transform a collection of classes into a package that is amenable to whole-program optimizations, and still allows for extensions to the optimized and compiled code. The paper concludes with experimental results showing the benefits that can be achieved using this approach.