DocumentCode
3459036
Title
Extending Object-Oriented Optimizations for Concurrent Programs
Author
Heffner, Kelly ; Tarditi, David ; Smith, Michael D.
Author_Institution
Harvard Univ., Cambridge
fYear
2007
fDate
15-19 Sept. 2007
Firstpage
119
Lastpage
129
Abstract
Object-oriented programming encourages extensive use of fields in objects. Most object-oriented programs are also concurrent, due to a finalizer or user interface thread. The combination of concurrency and frequent use of fields presents an optimization challenge: it is difficult for an optimizer to establish invariants between fields at different points in the program and recognize redundancy introduced by synchronization primitives. In this paper, we describe techniques to optimize code for field access in concurrent object-oriented programs. We leverage the fact that for correctness, programmers must use some form of concurrency control. We adapt several techniques for analyzing the synchronization properties of fields, including identifying fields associated with objects that are always locked before their use and identifying fields that are accessed from only one thread, to locate optimization opportunities that remain sound, even for concurrent programs. We extend existing optimizations, including redundant-load elimination, array-bounds check elimination, and null check elimination, to use these analyses. We show that extending these optimizations with a combination of analysis techniques is straightforward and relatively inexpensive, using analyses that already exist in mature object-oriented compilers. We also find that concurrency in our benchmarks does not substantially reduce the benefits of the original optimizations.
Keywords
concurrent engineering; object-oriented programming; optimisation; array-bounds check elimination; concurrency control; concurrent programs; field access; mature object-oriented compilers; null check elimination; object-oriented optimizations; object-oriented programming; redundant-load elimination; synchronization primitives; user interface thread; Concurrent computing; Object oriented modeling; Optimization methods; Optimizing compilers; Parallel architectures; Performance analysis; Programming profession; Safety; User interfaces; Yarn;
fLanguage
English
Publisher
ieee
Conference_Titel
Parallel Architecture and Compilation Techniques, 2007. PACT 2007. 16th International Conference on
Conference_Location
Brasov
ISSN
1089-795X
Print_ISBN
978-0-7695-2944-8
Type
conf
DOI
10.1109/PACT.2007.4336205
Filename
4336205
Link To Document