Link-time binary rewriting techniques for program compaction
2005; Association for Computing Machinery; Volume: 27; Issue: 5 Linguagem: Inglês
10.1145/1086642.1086645
ISSN1558-4593
AutoresBjorn De Sutter, Bruno De Bus, Koen De Bosschere,
Tópico(s)Logic, programming, and type systems
ResumoSmall program size is an important requirement for embedded systems with limited amounts of memory. We describe how link-time compaction through binary rewriting can achieve code size reductions of up to 62% for statically bound languages such as C, C++, and Fortran, without compromising on performance. We demonstrate how the limited amount of information about a program at link time can be exploited to overcome overhead resulting from separate compilation. This is done with scalable, cost-effective, whole-program analyses, optimizations, and duplicate code and data elimination techniques. The discussed techniques are evaluated and their cost-effectiveness is quantified with Squeeze++, a prototype link-time compactor.
Referência(s)