Using types to analyze and optimize object-oriented programs

Citation
A. Diwan et al., Using types to analyze and optimize object-oriented programs, ACM T PROGR, 23(1), 2001, pp. 30-72
Citations number
72
Categorie Soggetti
Computer Science & Engineering
Journal title
ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS
ISSN journal
01640925 → ACNP
Volume
23
Issue
1
Year of publication
2001
Pages
30 - 72
Database
ISI
SICI code
0164-0925(200101)23:1<30:UTTAAO>2.0.ZU;2-3
Abstract
Object-oriented programming languages provide many software engineering ben efits, but these often come at, a performance cost. Object-oriented program s make extensive use of method invocations and pointer dereferences, both o f which are potentially costly on modern machines. We show how to use types to produce effective, yet simple, techniques that reduce the costs of thes e features in Modula-3, a statically typed, object-oriented language. Our c ompiler performs type-based alias analysis to disambiguate memory reference s. It uses the results of the type-based alias analysis to eliminate redund ant memory references and to replace monomorphic method invocation sites wi th direct calls. Using Limit, static, and running time evaluation, we demon strate that these techniques are effective, and sometimes perfect for a set of Medula-3 benchmarks.