Dynamic vs. Static Optimization Techniques for Object-Oriented Languages (2007)
Abstract: Object-oriented programs can be optimized either dynamically, i.e., based on run-time information, or statically, i.e., based on program analysis alone. Two promising optimization...
Ucch David Ungar, Bay-wei Chang, Urs Hlzle, Organizing Programs Classes, ...
Data Types. In Proceedings of the ACM SIGPLAN Conference on Very High Level Languages, pp. 50-59, April, 1974. Published as SIGPLAN Notices 9(4), 1974. [LSAS77] Barbara Liskov, Alan Snyder, Russell...
Multi-stage Cascaded Prediction (1999)
Karel Driesen And, Karel Driesen, Urs Hlzle
. Two-level predictors deliver highly accurate conditional branch prediction, indirect branch target prediction and value prediction. Accurate prediction enables speculative execution of...
The cascaded predictor: economical and adaptive branch target prediction (1998)
Abstract. Two-level predictors improve branch prediction accuracy by allowing predictor tables to hold multiple predictions per branch. Unfortunately, the accuracy of such predictors is impaired by...
OSUIF: SUIF 2.0 with objects (1997)
Andrew Duncan, Bogdan Cocosel, Costin Iancu, Holger Kienle, Radu Rugina, Urs Hlzle, ...
Abstract. OSUIF is an extension to SUIF 2.0 that provides support for the compilation of object-oriented languages. OSUIF extends standard SUIF in three main areas: symbol table, intermediate...
Eliminating virtual function calls in C++ programs (1996)
Abstract. We have designed and implemented an optimizing source-tosource C++ compiler that reduces the frequency of virtual function calls. Our prototype implementation demonstrates the value of...
Do Object-Oriented Languages Need Special Hardware Support (1995)
Abstract. Previous studies have shown that object-oriented programs have different execution characteristics than procedural programs, and that special object-oriented hardware can improve...
A Fast Write Barrier for Generational Garbage Collectors (1993)
Generational garbage collectors need to keep track of references from older to younger generations so that younger generations can be garbage-collected without inspecting every object in the older...