GGrantIndex
← Search

Representation Specification and Optimization of Object-Oriented Languages

$249,782FY2000CSENSF

University Of Washington, Seattle WA

Investigators

Abstract

Craig Chambers Higher-level programming languages, such as Smalltalk, ML, and Java, can make programming easier, more reliable, and more flexible than lower-level programming languages, such as C and C++. Unfortunately, these software engineering benefits often come at significant cost to run-time efficiency. One important obstacle to achieving good performance for higher-level languages is the relatively inefficient approach to the representation and layout of data structures, where data structures are represented uniformly as heap-allocated structures referenced indirectly via pointers. This research aims to reduce the performance costs of this high-level data model while retaining its software engineering benefits for programmers. Declarative techniques will be developed for specifying the layout of data structures and for specifying optimizations to data structure layouts. Techniques will be developed for deciding which layout optimizations to apply, based on a mix of programmer suggestions, automatic static analyses, and dynamic profile feedback. A flexible, language-independent compiler intermediate representation will be designed that explicitly maintains, checks, and optimizes representations. The techniques will be implemented in an optimizing compiler, and their effectiveness measured on a range of large benchmark programs in a variety of object-oriented programming languages.

View original record on NSF Award Search →