Report Number: CSL-TR-92-534
Institution: Stanford University, Computer Systems Laboratory
Title: On the specialization of online program specializers
Author: Ruf, Erik
Author: Weise, Daniel
Date: July 1992
Abstract: Program specializers improve the speed of programs by
performing some of the programs' reductions at specialization
time rather than at runtime. This specialization process can
be time-consuming; one common technique for improving the
speed of the specialization of a particular program is to
specialize the specializer itself on that program, creating a
custom specializer, or program generator, for that particular
program.
Much research has been devoted to the problem of generating
efficient program generators, which do not perform reductions
at program generation time which could instead have been
performed when the program generator was constructed. The
conventional wisdom holds that only offline program
specializers, which use binding time annotations, can be
specialized into such efficient program generators. This
paper argues that this is not the case, and demonstrates that
the specialization of a nontrivial online program specializer
similar to the original "naive MIX" can indeed yield an
efficient program generator.
The key to our argument is that, while the use of binding
time information at program generator generation time is
necessary for the construction of an efficient custom
specializer, the use of explicit binding time approximation
techniques is not. This allows us to distinguish the problem
at hand (i.e., the use of binding time information during
program generator generation) from particular solutions to
that problem (i.e., offline specialization). We show that,
given a careful choice of specializer data structures, and
sufficiently powerful specialization techniques, binding time
information can be inferred and utilized without the use of
explicit binding time approximation techniques. This allows
the construction of efficient, optimizing program generators
from online program specializers.
http://i.stanford.edu/pub/cstr/reports/csl/tr/92/534/CSL-TR-92-534.pdf