Department of Computer Science, The University of Arizona
|Topic:||Compiler Techniques for Code Compression|
|Date:||Thursday, September 16, 1999|
|Place:||Gould-Simpson, Room 701|
In recent years there has been an increasing trend towards the incorporation of computers into a variety of devices where the amount of memory available is limited. This makes it desirable to try and reduce the size of applications where possible. This talk discusses the use of compiler techniques to accomplish code compression to yield smaller executables. By showing how "equivalent" code fragments can be detected and factored out without having to resort to purely linear treatments of code sequences as in suffix-tree-based approaches, we set up a framework for code compression that can be more flexible in its treatment of what code fragments are considered equivalent. Our ideas have been implemented in the form of a binary-rewriting tool called "squeeze" that is able to achieve significantly better compression than previous approaches.