Experience with the Super Monaco optimizing compiler

“Super Monaco” is a shared-memory multiprocessor implementation of a flat concurrent logic programming language. The system evolved from the earlier Monaco project, and retains, by and large, the Monaco intermediate abstract machine. Over the past two years, the compiler and runtime system were modi...

Full description

Saved in:
Bibliographic Details
Published in:The journal of logic programming Vol. 29; no. 1; pp. 141 - 169
Main Authors: Tick, Evan, Massey, Bart C., Larson, James S.
Format: Journal Article
Language:English
Published: Elsevier Inc 1996
ISSN:0743-1066, 1873-5789
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary:“Super Monaco” is a shared-memory multiprocessor implementation of a flat concurrent logic programming language. The system evolved from the earlier Monaco 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. The 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 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.
Bibliography:ObjectType-Article-2
SourceType-Scholarly Journals-1
ObjectType-Feature-1
content type line 23
ISSN:0743-1066
1873-5789
DOI:10.1016/S0743-1066(96)00051-9