AN EVALUATION OF AUTOMATIC OBJECT IN-LINE ALLOCATION TECHNIQUES

Authors
Citation
J. Dolby et Aa. Chien, AN EVALUATION OF AUTOMATIC OBJECT IN-LINE ALLOCATION TECHNIQUES, ACM SIGPLAN NOTICES, 33(10), 1998, pp. 1-20
Citations number
32
Categorie Soggetti
Computer Science Software Graphycs Programming","Computer Science Software Graphycs Programming
Journal title
Volume
33
Issue
10
Year of publication
1998
Pages
1 - 20
Database
ISI
SICI code
Abstract
Object-oriented languages such as Java and Smalltalk provide a uniform object reference model, allowing objects to be conveniently shared. I f implemented directly, these uniform reference models can suffer in e fficiency due to additional memory dereferences and memory management operations. Automatic inline allocation of child objects within parent objects can reduce overheads of heap-allocated pointer-referenced obj ects. We present three compiler analyses to identify inlinable fields by tracking accesses to heap objects. These analyses span a range from local data flow to adaptive whole-program, flow-sensitive inter-proce dural analysis. We measure their cost and effectiveness on a suite of moderate-sized C++ programs (up to 30,000 lines including libraries). We show that aggressive interprocedural analysis is required to enable object inlining, and our adaptive inter-procedural analysis [23] comp utes precise information efficiently. Object inlining eliminates typic ally 40% of object accesses and allocations (improving performance up to 50%). Furthermore,.