Artigo Acesso aberto Revisado por pares

Link-time binary rewriting techniques for program compaction

2005; Association for Computing Machinery; Volume: 27; Issue: 5 Linguagem: Inglês

10.1145/1086642.1086645

ISSN

1558-4593

Autores

Bjorn De Sutter, Bruno De Bus, Koen De Bosschere,

Tópico(s)

Logic, programming, and type systems

Resumo

Small 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)