Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Concrete type inference: delivering object-oriented applications
Concrete type inference: delivering object-oriented applications
Automatic inline allocation of objects
Proceedings of the ACM SIGPLAN 1997 conference on Programming language design and implementation
Java Virtual Machine Specification
Java Virtual Machine Specification
The Java Language Specification
The Java Language Specification
Whole-program optimization of object-oriented languages
Whole-program optimization of object-oriented languages
Compiling java for high performance and the internet
Compiling java for high performance and the internet
The cost of being object-oriented: A preliminary study
Scientific Programming
Hi-index | 0.00 |
This paper presents a strategy, called em almost-whole-program compilation, for extending the benefits of whole-program optimization to large collections of Java components that are packaged as a group after the development phase. This strategy has been implemented in a framework that uses Java visibility and scoping rules to transform a collection of classes into a package that is amenable to whole-program optimizations, without precluding extensions to the optimized and compiled code. Thus, it enables the Java developer to balance performance against flexibility of the program after the development phase, without compromising the design process. The transformation is shown to incur only modest performance penalties, which are more than compensated for by the interprocedural optimizations it enables. The paper concludes with experimental results showing the benefits that can be achieved using this approach.