CRPC-TR98746 August 1998 Title: Static Interprocedural Optimizations in Java Authors: Zoran Budimlic and Ken Kennedy Submitted August 1998 Abstract: Interprocedural optimizations are important in Java because the object-oriented programming style encourages the use of many small methods. Unfortunately, such optimizations are difficult because of the nature of language structure and its security restrictions. A particular problem is the difficulty of knowing the entire program at any time prior to execution. This paper presents new approaches to cloning and inlining that can be profitably used even in a single class. These optimizations are of particular interest for concurrent environments, since the correctness of their application is insensitive to concurrency. Results from our preliminary implementation are presented and ways to extend these methods are described. These methods can be thought of as strategies for almost whole-program analysis and optimization. ------------------------------------------------------------------------------ Zoran Budimlic Ken Kennedy zoran@cs.rice.edu ken@cs.rice.edu Center for Research on Parallel Computation Rice University