|Code Compaction results firstname.lastname@example.org (1991-08-19)|
|Code Compaction results email@example.com (1991-08-15)|
|From:||firstname.lastname@example.org (Philip Koopman)|
|Summary:||8 references from the net|
|Organization:||School of Computer Science, Carnegie Mellon|
|Date:||Mon, 19 Aug 91 13:39:39 GMT|
A while ago I posted:
>I am looking for references to compiler techniques that significantly
>reduce object code size (by a factor of 2 or more). ...
Below is a summary of the results. Thanks to all who replied!!
Phil Koopman email@example.com
United Technologies Research Center (203) 727-1624
411 Silver Lane East Hartford, CT 06108
Geschke, Charles M. "Global Program Optimizations", Carnegie Mellon
Department of Computer Science, Ph.D. Thesis, October 1972
(discusses 'wasp-waisting' and code similarity compactions)
Wulf, Johnsson, Weinstock, Hobbs, Geschke, "The Design of an Optimizing
Compiler", North Holland, 1975
proceduralizes everything using data compression techniques;
automatic generation of interpreter byte codes, if you will.
%A J. W. Davidson
%A C. W. Fraser
%T Eliminating Redundant Object Code
Here's a reference that is not exactly what you want,
but might suggest some ideas:
Compressed executables: an exercise in thinking small
Proc. Summer 1991 Usenix Conf. (June 10-14, 1991), 385-403
In some cases you can achieve small static code sizes by using dynamic
compilation and having a large dynamic code size. For embedded
controllers, this probably won't work.
%A Christopher W. Fraser
%A Eugene W. Myers
%A Alan L. Wendt
%T Analyzing and Compressing Assembly Code
%B Proceedings of the ACM SIGPLAN '84 Symposium on Compiler
%J SIGPLAN Notices
%D June 1984
%A Thomas Pittman
%T Two-Level Hybrid Interpreter/Native Code Execution for Combined
Space-Time Program Efficiency
%J ACM SIGPLAN
The last paper basically says ``you can code infrequently-used things
compactly, frequently-used things non-compactly, and achive significant
space reduction with only minor performance loss.''
AUTHOR Rosenberg, Jonathan and Shaw, Mary, 1943- Advisor.
TITLE Generating compact code for generic subprograms.
Carnegie-Mellon University. Department of Computer Science.
CITATION Pittsburgh, PA : Carnegie-Mellon University, 1983.
NOTES Thesis (Ph.D.)--Carnegie-Mellon University, 1983.
The GNU C compiler compacts code to some extent by having only one
copy of equal basic block tails and jumping there from all the basic
blocks that have this tail. This makes a big difference in the
machine-generated switch statements I use.
Return to the
Search the comp.compilers archives again.