Optimization of Object-Oriented Programs using Static Class Hierarchy Analysis (1995)
Cached
Download Links
- [www.cs.ucla.edu]
- [www.cs.utsa.edu]
- [www.research.ibm.com]
- [ftp.cs.washington.edu]
- [www.research.ibm.com]
- DBLP
Other Repositories/Bibliography
| Citations: | 302 - 18 self |
BibTeX
@INPROCEEDINGS{Dean95optimizationof,
author = {Jeffrey Dean and David Grove and Craig Chambers},
title = {Optimization of Object-Oriented Programs using Static Class Hierarchy Analysis},
booktitle = {},
year = {1995},
pages = {77--101},
publisher = {Springer-Verlag}
}
Years of Citing Articles
OpenURL
Abstract
Abstract. Optimizing compilers for object-oriented languages apply static class analysis and other techniques to try to deduce precise information about the possible classes of the receivers of messages; if successful, dynamicallydispatched messages can be replaced with direct procedure calls and potentially further optimized through inline-expansion. By examining the complete inheritance graph of a program, which we call class hierarchy analysis, the compiler can improve the quality of static class information and thereby improve run-time performance. In this paper we present class hierarchy analysis and describe techniques for implementing this analysis effectively in both statically- and dynamically-typed languages and also in the presence of multi-methods. We also discuss how class hierarchy analysis can be supported in an interactive programming environment and, to some extent, in the presence of separate compilation. Finally, we assess the bottom-line performance improvement due to class hierarchy analysis alone and in combination with two other “competing ” optimizations, profileguided receiver class prediction and method specialization. 1







