Experience with the Super Monaco Optimizing Compiler
Evan Tick, Bart Massey, Jim Larson
Committee:
Technical Report(Dec 1969)
Keywords:

"Super Monaco" is a shared-memory multiprocessor implementation of a flat concurrent logic programming language. Tlte system evolved from the earlier Mona.co project, and retains, by-and-large, the Monaco intermediate abstract machine. Over the past two years, the compiler and runtime system were modified, incorporating a number of new features improving robustness, flexibility, maintainability, and performance. Tlte optimizing compiler, written in KL1, takes high-level programs and produces intermediate code for the Monaco abstract machine. An "assembler-assembler" converts a host machine description into a KL1 program which translates Monaco intermediate code into target assembly code. There are currently two intermediate code translators: one for SGI MIPS-based hosts, and another for Sequent Symmetry 80386-based multiprocessors. This paper discusses the compiler design and our experience building it. A cost/benefit analysis of the compiler optimizations is given, with a comparison to similar systems.