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. © 2005 ACM.
CITATION STYLE
De Sutter, B., De Bus, B., & De Bosschere, K. (2005). Link-time binary rewriting techniques for program compaction. ACM Transactions on Programming Languages and Systems, 27(5), 882–945. https://doi.org/10.1145/1086642.1086645
Mendeley helps you to discover research relevant for your work.