ABSTRACT
We describe the local optimization phase of a compiler for translating the INTERLISP dialect of LISP into stack-architecture (0-address) instruction sets. We discuss the general organization of the compiler, and then describe the set of optimization techniques found most useful, based on empirical results gathered by compiling a large set of programs. The compiler and optimization phase are machine independent, in that they generate a stream of instructions for an abstract stack machine, which an assembler subsequently turns into the actual machine instructions. The compiler has been in successful use for several years, producing code for two different instruction sets.
- 1.Richard R. Burton, Larry M. Masinter, Daniel G. Bobrow, Willie Sue Haugeland, Ronald M. Kaplan and B. A. Sheil, "Overview and implementation status of DoradoLisp", to appear, 1980.Google Scholar
- 2.L. Peter Deutsch. "A Lisp machine with very compact programs". Proceedings of the Third International Joint Conference on Artificial Intelligence, Stanford, 1973.Google Scholar
- 3.L. Peter Deutsch. "Experience with a Microprogrammed Interlisp System". IEEE Micro-11 Conference, Asilomar, 1978. Google ScholarDigital Library
- 4.L. Peter Deutsch. "ByteLisp and its Alto Implementation". 1980 Lisp Conference, Stanford, August 1980. Google ScholarDigital Library
- 5.Edward R. Fiala. "The Maxc Systems". IEEE Computer, 11:5, May 1978.Google Scholar
- 6.Martin L. Griss and Anthony C. Hearn. "A Portable LISP Compiler". Report UCP-76, Department of Computer Science, University of Utah, June 1979.Google Scholar
- 7.Guy L. Steele. "RABBIT: A Compiler for SCHEME (A Study in Compiler Optimization)". Report AI-TR-474, MIT Artificial Intelligence Laboratory, May 1978. Google ScholarDigital Library
- 8.Warren Teitelman et al. INTERLISP Reference Manual. Xerox Palo Alto Research Center, October 1978.Google Scholar
- 9.Jaak Urmi. "A machine independent LISP compiler and its implications for ideal hardware". Linkoping Studies in Science and Technology Dissertations No. 22, Linkoping, Sweden, 1978. Google ScholarDigital Library
Index Terms
- Local optimization in a compiler for stack-based Lisp machines
Recommendations
An optimizing compiler for lexically scoped LISP
SIGPLAN '82: Proceedings of the 1982 SIGPLAN symposium on Compiler constructionWe are developing an optimizing compiler for a dialect of the LISP language. The current target architecture is the S-I, a multiprocessing supercomputer designed at Lawrence Livermore National Laboratory. While LISP is usually thought of as a language ...
An optimizing compiler for lexically scoped LISP
Proceedings of the 1982 SIGPLAN symposium on Compiler constructionWe are developing an optimizing compiler for a dialect of the LISP language. The current target architecture is the S-I, a multiprocessing supercomputer designed at Lawrence Livermore National Laboratory. While LISP is usually thought of as a language ...
EPIC - a retargetable, highly optimizing Lisp compiler
The Experimental Portable Standard Lisp Compiler (EPIC) is a compiler testbed for experimentation with, and development of, Lisp compilation strategies. EPIC uses an architectural description of the target machine to increase portability, and performs ...
Comments