2001
DOI: 10.1145/383721.383732
|View full text |Cite
|
Sign up to set email alerts
|

Using types to analyze and optimize object-oriented programs

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 … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

1
25
0

Year Published

2002
2002
2007
2007

Publication Types

Select...
4
2
1

Relationship

1
6

Authors

Journals

citations
Cited by 38 publications
(26 citation statements)
references
References 41 publications
1
25
0
Order By: Relevance
“…This is similar to limit studies that other researchers have used to evaluate and debug various compiler analyses [Larus and Chandra 1993;Mock et al 2001;Diwan et al 2001;. Kotzmann and Mössenböck use their escape analysis for stack allocation [2005].…”
Section: Validationsupporting
confidence: 69%
See 2 more Smart Citations
“…This is similar to limit studies that other researchers have used to evaluate and debug various compiler analyses [Larus and Chandra 1993;Mock et al 2001;Diwan et al 2001;. Kotzmann and Mössenböck use their escape analysis for stack allocation [2005].…”
Section: Validationsupporting
confidence: 69%
“…We evaluate their effect on the precision of our pointer analysis with respect to a client of the pointer analysis: the partitioner in CBGC (connectivity-based garbage collection ). Since these optimizations change precision in incomparable ways (they use a different heap model), it is not appropriate to compare their relative effects using pointsTo sets or alias sets [Diwan et al 2001]. The CBGC partitioner works by placing each allocation site in its own partition and then collapsing strongly-connected components in the partition graph.…”
Section: Effect Of Optimizationsmentioning
confidence: 99%
See 1 more Smart Citation
“…Several approaches balance this trade-off well by providing an appropriate combination of precision and scalability [2,8,30,32]. However, studies suggest that a more accurate pointer analysis does not necessarily provide increased optimization opportunities [10,17] because ambiguous pointers will persist. Hence speculative optimizations have recently been proposed to bridge this persistent disparity between safety and optimization.…”
Section: Related Workmentioning
confidence: 99%
“…However, they only measured the statie number of optimizations performed (rather than their mn-time effect), and their benchmarks are mostly pointer-free C programs, sorne translated directly from FORTRAN, so they found, unsurprisingly, that alias analysis precision had little effect. Other work studying the effect of alias analysis on scalar optimizations also suggests that a simple alias analysis may be sufficient [DLFR01,DMM01].…”
Section: Impact Of Side-effect Analysis In Optimizationsmentioning
confidence: 99%