Lecture Notes in Computer Science 1781 EditedbyG.Goos,J.HartmanisandJ.vanLeeuwen 3 Berlin Heidelberg NewYork Barcelona HongKong London Milan Paris Singapore Tokyo David A. Watt (Ed.) Compiler Construction 9th International Conference, CC 2000 Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2000 Berlin, Germany, March 25 -April 2, 2000 Proceedings 1 3 SeriesEditors GerhardGoos,KarlsruheUniversity,Germany JurisHartmanis,CornellUniversity,NY,USA JanvanLeeuwen,UtrechtUniversity,TheNetherlands VolumeEditor DavidA.Watt UniversityofGlasgow DepartmentofComputingScience GlasgowG128QQ,Scotland E-mail:[email protected] Cataloging-in-PublicationDataappliedfor DieDeutscheBibliothek-CIP-Einheitsaufnahme Compilerconstruction:9thinternationalconference;proceedings/ CC2000,heldaspartoftheJointEuropeanConferencesonTheoryand PracticeofSoftware,ETAPS2000,Berlin,Germany,March25-April2, 2000/DavidA.Watt(ed.).-Berlin;Heidelberg;NewYork; Barcelona;HongKong;London;Milan;Paris;Singapore;Tokyo: Springer,2000 (Lecturenotesincomputerscience;Vol.1781) ISBN3-540-67263-X CRSubjectClassification(1991):D.3.4,D.3.1,F.4.2,D.2.6,I.2.2 ISSN0302-9743 ISBN3-540-67263-XSpringer-VerlagBerlinHeidelbergNewYork Thisworkissubjecttocopyright.Allrightsarereserved,whetherthewholeorpartofthematerialis concerned,specificallytherightsoftranslation,reprinting,re-useofillustrations,recitation,broadcasting, reproductiononmicrofilmsorinanyotherway,andstorageindatabanks.Duplicationofthispublication orpartsthereofispermittedonlyundertheprovisionsoftheGermanCopyrightLawofSeptember9,1965, initscurrentversion,andpermissionforusemustalwaysbeobtainedfromSpringer-Verlag.Violationsare liableforprosecutionundertheGermanCopyrightLaw. Springer-VerlagisacompanyintheBertelsmannSpringerpublishinggroup. ©Springer-VerlagBerlinHeidelberg2000 PrintedinGermany Typesetting:Camera-readybyauthor,dataconversionbyDA-TeXGerdBlumenstein Printedonacid-freepaper SPIN10719928 06/3142 543210 Foreword ETAPS2000wasthethirdinstanceoftheEuropeanJointConferencesonTheory and Practice of Software. ETAPS is an annual federated conference that was established in 1998 by combining a number of existing and new conferences. Thisyearitcomprisedfiveconferences(FOSSACS,FASE,ESOP,CC,TACAS), five satellite workshops (CBS, CMCS, CoFI, GRATRA, INT), seven invited lectures, a panel discussion, and ten tutorials. The events that comprise ETAPS address various aspects of the system de- velopmentprocess,includingspecification,design,implementation,analysis,and improvement. The languages, methodologies, and tools which support these ac- tivities are all well within its scope. Different blends of theory and practice are represented, with an inclination towards theory with a practical motivation on one hand and soundly-based practice on the other. Many of the issues involved in softwaredesignapply to systemsin general,including hardwaresystems,and the emphasis on software is not intended to be exclusive. ETAPSis a loose confederationin which each event retains its own identity, with a separate program committee and independent proceedings. Its format is open-ended, allowing it to grow and evolve as time goes by. Contributed talks and system demonstrations are in synchronized parallel sessions, with invited lectures in plenary sessions. Two of the invited lectures are reserved for “uni- fying” talks on topics of interest to the whole range of ETAPS attendees. The aim of cramming all this activity into a single one-week meeting is to create a strong magnet for academic and industrial researchersworkingon topics within its scope, giving them the opportunity to learn about research in related areas, andtherebytofosternewandexistinglinksbetweenworkinareasthatwerefor- merly addressed in separate meetings. The program of ETAPS2000 included a public business meeting where participants had the opportunity to learn about the present and future organization of ETAPS and to express their opinions about what is bad, what is good, and what might be improved. ETAPS2000 was hosted by the Technical University of Berlin and was effi- ciently organizedby the following team: Bernd Mahr (General Chair) Hartmut Ehrig (ProgramCoordination) Peter Pepper (Organization) Stefan Ja¨hnichen (Finances) Radu Popescu-Zeletin (Industrial Relations) with the assistance of BWO Marketing Service GmbH. The publicity was su- perbly handled by Doris Fa¨hndrich of the TU Berlin with assistance from the ETAPS publicity chair, Andreas Podelski. Overall planning for ETAPS con- ferences is the responsibility of the ETAPS steering committee, whose current membership is: VI Foreword EgidioAstesiano(Genova),JanBergstra(Amsterdam),PierpaoloDegano (Pisa), Hartmut Ehrig (Berlin), Jos´e Fiadeiro (Lisbon), Marie-Claude Gaudel(Paris),SusanneGraf(Grenoble),FurioHonsell(Udine),Heinrich Hußmann(Dresden),StefanJa¨hnichen(Berlin),PaulKlint(Amsterdam), TomMaibaum(London),TizianaMargaria(Dortmund), UgoMontanari (Pisa), Hanne Riis Nielson (Aarhus), Fernando Orejas (Barcelona), Andreas Podelski (Saarbru¨cken),David Sands (Go¨teborg), Don Sannella (Edinburgh),GertSmolka (Saarbru¨cken),BernhardSteffen (Dortmund), Wolfgang Thomas (Aachen), Jerzy Tiuryn (Warsaw),DavidWatt (Glas- gow), Reinhard Wilhelm (Saarbru¨cken) ETAPS2000 received generous sponsorship from: the Institute for Communication and Software Technology of TU Berlin the European Association for ProgrammingLanguages and Systems the European Association for Theoretical Computer Science the European Association for Software Development Science the “High-Level Scientific Conferences” component of the European Commission’s Fifth Framework Programme I would like to express my sincere gratitude to all of these people and organiza- tions,theprogramcommitteemembersoftheETAPSconferences,theorganizers of the satellite events, the speakers themselves, and finally Springer-Verlag for agreeing to publish the ETAPS proceedings. January 2000 Donald Sannella ETAPS Steering Committee Chairman Preface The International Conference in Compiler Construction (CC) is a forum for presentation and discussion of recent developments in language processors and language design. It emphasizes practical methods and tools. CC 2000 was the ninth conference in the series. The CC conference originated as a series of workshops organized since 1986 byGu¨nterRiedewaldinEastGermany.In1992theserieswasrelaunchedbyUwe Kastens in Paderborn.It was highly appropriatethat the firstCC conference of the new millennium should take place in Berlin, newly restored as the capital city of reunified Germany. The CC conference,originallybiennial,federatedto ETAPSin 1998andbe- came annual. Despite that major change, the number of submissions and the number of accepted papers have remained stable. The program committee re- ceived46submissionsforCC2000,fromwhicheighteenhigh-qualitypaperswere selected for presentation. These papers are included in these proceedings. TheinvitedspeakeratCC2000wasReinhardWilhelm,whosetalkwasenti- tled Shape Analysis. A paper basedonthe invitedtalk opens these proceedings. The work of the CC 2000 program committee was conducted entirely by electronic means. This made it practicable for all program committee members to participate fully in discussions of individual papers, to re-read papers, and in some cases to provide extra reviews. I believe that the quality of the paper selection process benefited greatly from this mode of working. I am glad to acknowledge the hard work and friendly cooperation of all my colleagues on the program committee. I also wish to thank the much larger numberofadditionalreviewerswhohelpedustoreadandevaluatethesubmitted papers. As a first-time programchair I have particular reason to appreciate the support and advice of the ETAPS chair, Don Sannella, and of the CC steering committee.Finally,I wishtothank allthe authorsofsubmittedpapersfortheir continued interest, without which the CC conference could not thrive. January 2000 David Watt CC Steering Committee Peter Fritzson (Sweden) Kai Koskimies (Finland) Tibor Gyimothi (Hungary) David Watt (UK) Stefan Ja¨hnichen (Germany) Reinhard Wilhelm (Germany) Uwe Kastens (Germany) VIII Preface CC 2000 Program Committee Rudolf Eigenman (USA) Mooly Sagiv (Israel) Christine Eisenbeis (France) Helmut Seidl (Germany) Christian Ferdinand (Germany) Martin Simons (Germany) Guang Gao (USA) Chau-Wen Tseng (USA) Go¨rel Hedin (Sweden) Bruce Watson (South Africa) Olivier Michel (France) David Watt (UK, chair) Simon Peyton Jones (UK) Hans Zima (Austria) Lawrence Rauchwerger (USA) CC 2000 Reviewers Gagan Agrawal Alin Jula Sara Porat Jos´e Nelson Amaral Daniel Kaestner Jan Prins Brian Armstrong Richard Kennell James Riely Denis Barthou Christoph Kessler Martin Rinard Siegfried Benkner Seon Wook Kim Sven Robertz Peter Brezany Torsten Klein Erven Rohou Manuel Chakravarty Marc Langenbach Bernhard Scholz Jong-Deok Choi James Larus Ran Shaham Philippe Clauss Erwin Laure Viera Sipkova Albert Cohen Daniel Lavery Anthony Sloane Jean-Franc¸ois Collard Jaejin Lee V.C. Sreedhar Graham Collins Xavier Leroy Arthur Stoutchinin Charles Consel Tal Lev-Ami Doaitse Swierstra Aino Cornils Wei Li Clemens Szyperski Ron Cytron Eva Magnusson Olivier Temam Franck Delaplace Florian Martin Alexandre Tessier Nurit Dor Wellington Martins Henrik Theiling E´tienne Duris E´duard Mehofer Stephan Thesing Daniel E´tiemble Oege de Moor Franc¸ois Thomasset Paul Feautrier Rishiyur Nikhil Michael Voss Ines Fey Anders Nilsson Philip Wadler Cedric Fournet Rinetskey Noam David Wakeling Jean-Louis Giavitto Preeti Ranjan Panda Reinhard Wilhelm Manish Gupta Sven Panne Eran Yahav David Hanson Insung Park Hongbo Yang Paul Havlak Michael Parkes Pen-Chung Yew Chung-Hsing Hsu Jonas Persson Hao Yu Franc¸ois Irigoin Patrik Persson Chihong Zhang Anders Ive Wolf Pfannenstiel Wolf Zimmermann Table of Contents Shape Analysis .............................................................1 Reinhard Wilhelm, Mooly Sagiv and Thomas Reps Optimizing Java Bytecode Using the Soot Framework:Is It Feasible? ......18 Raja Vall´ee-Rai, Etienne Gagnon, Laurie Hendren, Patrick Lam, Patrice Pominville and Vijay Sundaresan Pipelined Java Virtual Machine Interpreters ...............................35 Jan Hoogerbrugge and Lex Augusteijn Automatic Removal of Array Memory Leaks in Java .......................50 Ran Shaham, Elliot K. Kolodner and Mooly Sagiv A Static Study of Java Exceptions Using JESP ............................67 Barbara G. Ryder, Donald Smith, Ulrich Kremer, Michael Gordon and Nirav Shah Fast Escape Analysis and Stack Allocation for Object-Based Programs .....82 David Gay and Bjarne Steensgaard Constant Propagationon the Value Graph: Simple Constants and Beyond .............................................94 Jens Knoop and Oliver Ru¨thing Simple Generation of Static Single-Assignment Form ......................110 John Aycock and Nigel Horspool Demand-Driven Construction of Call Graphs .............................125 Gagan Agrawal A Framework for Loop Distribution on Limited On-Chip Memory Processors .......................................................141 Lei Wang, Waibhav Tembe and Santosh Pande Techniques for Effectively Exploiting a Zero OverheadLoop Buffer ........157 Gang-Ryung Uh, Yuhong Wang, David Whalley, Sanjay Jinturkar, Chris Burns and Vincent Cao Advanced Compiler Optimization for CalmRISC8 Low-End Embedded Processor .....................................................173 Dae-Hwan Kim Global Software Pipelining with Iteration Preselection ....................189 David Gregg Analysis of Irregular Single-Indexed Array Accesses and Its Applications in Compiler Optimizations ...............................202 Yuan Lin and David Padua
Description: