Using types to analyze and optimize object-oriented programs

32Citations
Citations of this article
10Readers
Mendeley users who have this article in their library.

Abstract

Object-oriented programming languages provide many software engineering benefits, but these often come at a performance cost. Object-oriented programs make extensive use of method invocations and pointer dereferences, both of which are potentially costly on modern machines. We show how to use types to produce effective, yet simple, techniques that reduce the costs of these features in Modula-3, a statically typed, object-oriented language. Our compiler performs type-based alias analysis to disambiguate memory references. It uses the results of the type-based alias analysis to eliminate redundant memory references and to replace monomorphic method invocation sites with direct calls. Using limit, static, and running time evaluation, we demonstrate that these techniques are effective, and sometimes perfect for a set of Modula-3 benchmarks.

Cite

CITATION STYLE

APA

Diwan, A., McKinley, K. S., & Moss, J. E. B. (2001). Using types to analyze and optimize object-oriented programs. ACM Transactions on Programming Languages and Systems, 23(1), 30–72. https://doi.org/10.1145/383721.383732

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free