Marmot: an optimizing compiler for Java

The Marmot system is a research platform for studying the implementation of high level programming languages. It currently comprises an optimizing native‐code compiler, runtime system, and libraries for a large subset of Java. Marmot integrates well‐known representation, optimization, code generatio...

Full description

Saved in:
Bibliographic Details
Published inSoftware, practice & experience Vol. 30; no. 3; pp. 199 - 232
Main Authors Fitzgerald, Robert, Knoblock, Todd B., Ruf, Erik, Steensgaard, Bjarne, Tarditi, David
Format Journal Article
LanguageEnglish
Published Chichester, UK John Wiley & Sons, Ltd 01.03.2000
Subjects
Online AccessGet full text

Cover

Loading…
More Information
Summary:The Marmot system is a research platform for studying the implementation of high level programming languages. It currently comprises an optimizing native‐code compiler, runtime system, and libraries for a large subset of Java. Marmot integrates well‐known representation, optimization, code generation, and runtime techniques with a few Java‐specific features to achieve competitive performance. This paper contains a description of the Marmot system design, along with highlights of our experience applying and adapting traditional implementation techniques to Java. A detailed performance evaluation assesses both Marmot's overall performance relative to other Java and C++ implementations, and the relative costs of various Java language features in Marmot‐compiled code. Our experience with Marmot has demonstrated that well‐known compilation techniques can produce very good performance for static Java applications – comparable or superior to other Java systems, and approaching that of C++ in some cases. Copyright © 2000 John Wiley & Sons, Ltd.
Bibliography:istex:E3C30F5F2FA3BD68B03308C22407B6D76441B2F2
ark:/67375/WNG-D24B2V2Q-0
ArticleID:SPE296
ObjectType-Article-2
SourceType-Scholarly Journals-1
ObjectType-Feature-1
content type line 23
ISSN:0038-0644
1097-024X
DOI:10.1002/(SICI)1097-024X(200003)30:3<199::AID-SPE296>3.0.CO;2-2