Automatic Inline Allocation of Objects (1997)
| Venue: | In Proceedings of the 1997 ACM SIGPLAN Conference on Programming Language Design and Implementation |
| Citations: | 38 - 3 self |
BibTeX
@INPROCEEDINGS{Dolby97automaticinline,
author = {Julian Dolby},
title = {Automatic Inline Allocation of Objects},
booktitle = {In Proceedings of the 1997 ACM SIGPLAN Conference on Programming Language Design and Implementation},
year = {1997},
pages = {7--17},
publisher = {ACM Press}
}
OpenURL
Abstract
Object-oriented languages like Java and Smalltalk provide a uniform object model that simplifies programming by providing a consistent, abstract model of object behavior. But direct implementations introduce overhead, removal of which requires aggressive implementation techniques (e.g. type inference, function specialization); in this paper, we introduce object inlining, an optimization that automatically inline allocates objects within containers (as is done by hand in C++) within a uniform model. We present our technique, which includes novel program analyses that track how inlinable objects are used throughout the program. We evaluated object inlining on several object-oriented benchmarks. It produces performance up to three times as fast as a dynamic model without inlining and roughly equal to that of manually-inlined codes. 1 Introduction Traditional object-oriented languages (e.g. SmallTalk [13]) sport a simple, uniform, abstract programming model; all objects are accessed via ...







