+Ishizaki+00@proceedings{ISMM98,
+ key = "ISMM",
+ booktitle = {Proceedings of the First International Symposium on
+ Memory Management},
+ title = {Proceedings of the First International Symposium on
+ Memory Management},
+ editor = {Richard Jones},
+ address = {Vancouver},
+ series = SIGPLAN,
+ volume = "34(3)",
+ publisher = ACM,
+ month = oct,
+ year = 1998,
+ ISBN = {1-58113-114-3},
+ note = {ISMM is the successor to the IWMM series of
+ workshops}
+}
+
+@INPROCEEDINGS{Chan:Dadoo:Santhanam:usenix:summer:1990,
+ AUTHOR = {Paul Chan and Manoj Dadoo and Vatsa Santhanam},
+ TITLE = {Evolution of the {U-code} Compiler Intermediate
+ Language at {Hewlett-Packard}},
+ BOOKTITLE = {Proceedings of the 1990 Summer USENIX Conference},
+ MONTH = {June},
+ PAGES = {199--210},
+ YEAR = 1990
+}
+
+@INPROCEEDINGS{Taba+98,
+ AUTHOR = {Ali-Reza Adl-Tabatabai and Michal Ciernak and
+ Guei-Yuan Lueh and Vishesh M. Parikh and James
+ M. Stichnoth},
+ TITLE = {Fast, Effective Code Generation in a Just-In-Time
+ {Java} Compiler},
+ BOOKTITLE = {Conference on Programming Language Design and
+ Implementation},
+ ORGANIZATION = {ACM},
+ SERIES = {SIGPLAN},
+ VOLUME = {33(5)},
+ PAGES = {280--290},
+ ADDRESS = {Montreal},
+ YEAR = 1998
+}
+
+@INPROCEEDINGS{Bacon+98,
+ AUTHOR = {David F. Bacon and Ravi Konuru and Chet Mruthy and
+ Mauricio Serrano},
+ TITLE = {Thin Locks: Featherweight Synchronization for {Java}},
+ BOOKTITLE = {Conference on Programming Language Design and
+ Implementation},
+ ORGANIZATION = {ACM},
+ SERIES = {SIGPLAN},
+ VOLUME = {33(5)},
+ PAGES = {258--268},
+ ADDRESS = {Montreal},
+ YEAR = 1998
+}
+
+@INPROCEEDINGS{Cameron+92,
+ AUTHOR = {Don Cameron and Paul Faust and Dmitry Lenkov and
+ Michey Mehta},
+ TITLE = {A Portable Implementation of {C++} Exception
+ Handling},
+ BOOKTITLE = {C++ Technical Conference},
+ ORGANIZATION = {USENIX},
+ PAGES = {225--243},
+ MONTH = {August},
+ YEAR = 1992
+}
+
+@ARTICLE{Chase94,
+ AUTHOR = {David Chase},
+ TITLE = {Implementation of Exception Handling},
+ JOURNAL = {Journal of C Language Translation},
+ VOLUME = 5,
+ NUMBER = 4,
+ PAGES = {??--??},
+ MONTH = {June},
+ YEAR = 1994
+}
+
+@INPROCEEDINGS{Giering+94,
+ AUTHOR = {E. W. Giering and Frank Mueller and T. P. Baker},
+ TITLE = {Features of the {Gnu} {Ada} Runtime Library},
+ BOOKTITLE = {TRI-Ada '94},
+ ORGANIZATION = {ACM},
+ PAGES = {93--103},
+ YEAR = 1994
+}
+
+@INPROCEEDINGS{Gunter+95,
+ AUTHOR = {Carl A. Gunter and Didier Remy and Jon G. Riecke},
+ TITLE = {A Generalization of Exceptions and Control in
+ {ML}-like languages},
+ BOOKTITLE = {Seventh International Conference on Functional
+ Programming Languages and Computer Architecture},
+ ORGANIZATION = {ACM},
+ PAGES = {12--23},
+ YEAR = 1995
+}
+
+@ARTICLE{KoenigStroustrup90,
+ AUTHOR = {Andrew Koenig and Bjarne Stroustrup},
+ TITLE = {Exception Handling for {C++}},
+ JOURNAL = {Journal of Object Oriented Programming},
+ VOLUME = 3,
+ NUMBER = 2,
+ PAGES = {16--33},
+ MONTH = {July/August},
+ YEAR = 1990
+}
+
+@BOOK{dragon86,
+ AUTHOR = {Alfred V. Aho and Ravi Sethi and Jeffrey D. Ullman},
+ TITLE = {Compilers: Principles, Techniques, and Tools},
+ PUBLISHER = {Addison-Wesley},
+ YEAR = 1986
+}
+
+
+@BOOK{appel98,
+ AUTHOR = {Appel, A.W.},
+ TITLE = {Modern Compiler Implementation in Java},
+ PUBLISHER = {Cambridge University Press},
+ YEAR = 1998
+}
+
+
+@BOOK{Stallings95,
+ AUTHOR = {William Stallings},
+ TITLE = {Operating Systems},
+ PUBLISHER = {Prentice Hall},
+ YEAR = 1995
+}
+
+@INPROCEEDINGS{Bershad+92,
+ AUTHOR = {Brian N. Bershad and David D. Redell and John
+ R. Ellis},
+ TITLE = {Fast mutual exclusion for uniprocessors},
+ BOOKTITLE = {Annual Symposium on Architectural Support for
+ Programming Languages and Operating Systems},
+ ORGANIZATION = {ACM},
+ PAGES = {223--233},
+ MONTH = {October},
+ YEAR = 1992
+}
+
+@INPROCEEDINGS{Mueller93,
+ AUTHOR = {Frank Mueller},
+ TITLE = {A Library Implementation of {POSIX} Threads under
+ {UNIX}},
+ BOOKTITLE = {Winter USENIX},
+ PAGES = {29--41},
+ ADDRESS = {San Diego},
+ MONTH = {January},
+ YEAR = 1993
+}
+
+@TECHREPORT{Keppel93,
+ AUTHOR = {David Keppel},
+ TITLE = {Tools and Techniques for Building Fast Portable
+ Threads Packages},
+ NUMBER = {UWCSE 93-05-06},
+ INSTITUTION = {University of Washington},
+ YEAR = 1993
+}
+
+@MISC{BissAWT97,
+ AUTHOR = {Peter Mehlitz},
+ TITLE = {Biss {AWT}},
+ HOWPUBLISHED = {{\tt http://www. biss-net.com/biss-awt.html}},
+ YEAR = 1997
+}
+
+@MISC{Jigsaw97,
+ KEY = {Jigsaw97},
+ TITLE = {Jigsaw},
+ HOWPUBLISHED = {{\tt http://www.w3.org/Jigsaw/}},
+ YEAR = 1997
+}
+
+@MISC{PosixThreads96,
+ KEY = {POSIX},
+ TITLE = {Standard for Threads Interface to {POSIX}},
+ HOWPUBLISHED = {IEEE, P1003.1c},
+ YEAR = 1996
+}
+
+@MISC{SunThreads97,
+ KEY = {JavaThreads},
+ TITLE = {Java Threads Whitepaper},
+ HOWPUBLISHED = {{\tt http://java. sun.com/}},
+ INSTITUTION = {SUN},
+ YEAR = 1997
+}
+
+@INPROCEEDINGS{AltmanEbcioglu97,
+ AUTHOR = {Erik Altman and Kemal Ebcio\u{g}lu},
+ TITLE = {{DAISY}: Dynamic Compilation for 100\% Architectural
+ Compatibility},
+ BOOKTITLE = {ISCA'97 - The 24th Annual International Symposium on
+ Computer Architecture},
+ ORGANIZATION = {ACM, IEEE},
+ YEAR = 1997
+}
+
+@BOOK{javaref96,
+ AUTHOR = {Ken Arnold and James Gosling},
+ TITLE = {The {Java} Programming Language},
+ PUBLISHER = {Addison-Wesley},
+ YEAR = 1996
+}
+
+@INPROCEEDINGS{bacon&sweeny96-,
+ author = {David F. Bacon and Peter F. Sweeney},
+ title = {Fast Static Analysis of {C++} Virtual Function
+ Calls},
+ booktitle = {Conference on Object-Oriented Programming Systems,
+ Languages \& Applications (OOPSLA'96)},
+ ORGANIZATION = {ACM},
+ pages = {324--341},
+ year = 1996
+}
+
+@ARTICLE{picoJava97,
+ AUTHOR = {J. Michael O'Connor and Marc Tremblay},
+ TITLE = {{picoJava-I}: The {Java} Virtual Machine in
+ Hardware},
+ JOURNAL = {IEEE Micro},
+ VOLUME = 17,
+ NUMBER = 2,
+ PAGES = {45--53},
+ MONTH = {April},
+ YEAR = 1997
+}
+
+@ARTICLE{SunJIT97,
+ AUTHOR = {Timothy Cramer and Richard Friedman and Terrence
+ Miller and David Seberger and Robert Wilson and
+ Mario Wolczko},
+ TITLE = {Compiling {Java} Just in Time},
+ JOURNAL = {IEEE Micro},
+ VOLUME = 17,
+ NUMBER = 3,
+ PAGES = {36--43},
+ MONTH = {June},
+ YEAR = 1997
+}
+
+@ARTICLE{ssa91,
+ AUTHOR = {Ron Cytron and Jeanne Ferrante and Barry K. Rosen
+ and Mark N. Wegman and F. Kenneth Zadeck},
+ TITLE = {Efficiently computing Static Single Assignment Form
+ and the Control Flow Graph},
+ JOURNAL = {ACM Transactions on Programming Languages and
+ Systems},
+ VOLUME = 13,
+ NUMBER = 4,
+ PAGES = {451--490},
+ MONTH = {October},
+ YEAR = 1991
+}
+
+@INPROCEEDINGS{diwan+96-,
+ AUTHOR = {Amer Diwan and J. Eliot B. Moss and Kathryn
+ S. McKinley},
+ TITLE = {Simple and Effective Analysis of Statically-Typed
+ Object-Oriented Programs},
+ BOOKTITLE = {Conference on Object-Oriented Programming Systems,
+ Languages \& Applications (OOPSLA '96)},
+ ORGANIZATION = {ACM},
+ PAGES = {292--305},
+ YEAR = 1996
+}
+
+@INPROCEEDINGS{EbciogluAltman97,
+ AUTHOR = {Kemal Ebcio\u{g}lu and Erik Altman and Erdem
+ Hokenek},
+ TITLE = {A {Java} {ILP} Machine based on fast Dynamic
+ Compilation},
+ BOOKTITLE = {MASCOTS'97 - International Workshop on Security and
+ Efficiency Aspects of {Java}},
+ YEAR = 1997
+}
+
+@INPROCEEDINGS{Ertl92-,
+ AUTHOR = {M. Anton Ertl},
+ TITLE = {A New Approach to {Forth} native Code Generation},
+ BOOKTITLE = {EuroForth '92},
+ ADDRESS = {Southampton},
+ YEAR = 1992
+}
+
+@PHDTHESIS{Ertl96phd,
+ AUTHOR = {M. Anton Ertl},
+ TITLE = {Implementation of Stack-Based Languages on Register
+ Machines},
+ SCHOOL = {Technische Universit\"at Wien},
+ MONTH = {April},
+ YEAR = 1996
+}
+
+@INPROCEEDINGS{ErtlMaierhofer95,
+ AUTHOR = {M. Anton Ertl and Martin Maierhofer},
+ TITLE = {Translating {Forth} to native {C}},
+ BOOKTITLE = {EuroForth '95},
+ ADDRES = {Dagstuhl},
+ YEAR = 1995
+}
+
+@INPROCEEDINGS{Ertl&Pirker97,
+ AUTHOR = {M. Anton Ertl and Christian Pirker},
+ TITLE = {The Structure of a {Forth} Native Code Compiler},
+ BOOKTITLE = {EuroForth '97 Conference Proceedings},
+ ADDRES = {Oxford},
+ PAGES = {107--116},
+ YEAR = 1997
+}
+
+}
+@PHDTHESIS{Franz94,
+ AUTHOR = {Michael Franz},
+ TITLE = {Code Generation On the Fly: A Key for Portable
+ Software},
+ SCHOOL = {ETH Z\"urich},
+ YEAR = 1994
+}
+
+@BOOK{smalltalk80,
+ AUTHOR = {Adele Goldberg and David Robson},
+ TITLE = {SMALLTALK-80, The Language and its Implementation},
+ PUBLISHER = {Addison-Wesley},
+ YEAR = 1983
+}
+
+@INPROCEEDINGS{Gough97,
+ AUTHOR = {K. John Gough},
+ TITLE = {Multi-language, Multi-target Compiler Development:
+ Evolution of the {Gardens Point} Compiler Project},
+ BOOKTITLE = {JMLC'97 --Joint Modular Languages Conference},
+ EDITOR = {Hanspeter M\"ossenb\"ock},
+ PUBLISHER = {LNCS 1204},
+ ADDRESS = {Linz},
+ YEAR = 1997
+}
+
+@MASTERSTHESIS{Grafl97,
+ AUTHOR = {Reinhard Grafl},
+ TITLE = {{CACAO}: {Ein 64Bit JavaVM Just-in-Time Compiler}},
+ SCHOOL = {Technische Universit\"at Wien},
+ MONTH = {January},
+ YEAR = 1997
+}
+
+@BOOK{hennessy&patterson90,
+ AUTHOR = {John L. Hennessy and David A. Patterson},
+ TITLE = {Computer Architecture. A Quantitative Approach},
+ PUBLISHER = {Morgan Kaufman Publishers},
+ YEAR = 1990
+}
+
+@ARTICLE{Hsieh+97,
+ AUTHOR = {Cheng-Hsueh A. Hsieh and Maria T. Conte and Teresa
+ L. Johnson and John C. Gyllenhaal and {Wen-mei}
+ W. Hwu},
+ TITLE = {Optimizing NET Compilers for Improved {Java}
+ Performance},
+ JOURNAL = {IEEE Computer},
+ VOLUME = 30,
+ NUMBER = 6,
+ PAGES = {67--75},
+ MONTH = {June},
+ YEAR = 1997
+}
+
+@INPROCEEDINGS{HsiehHwu97,
+ AUTHOR = {Cheng-Hsueh A. Hsieh and John C. Gyllenhaal and
+ {Wen-mei} W. Hwu},
+ TITLE = {Java Bytecode to Native Code Translation: The
+ {Caffeine} Prototype and Preliminary Results},
+ BOOKTITLE = {29th Annual IEEE/ACM International Symposium on
+ Microarchitecture (MICRO'29)},
+ ADDRES = {Paris},
+ YEAR = 1996
+}
+
+@ARTICLE{Holmer96,
+ AUTHOR = {Bruce K. Holmer and Barton Sano and Michael Carlton
+ and Peter van Roy and Alvin M. Despain},
+ TITLE = {Design and Analysis of Hardware for High-Performance
+ {Prolog}},
+ JOURNAL = {Journal of Logic Programming},
+ PUBLISHER = {Elsevier},
+ VOLUME = {29(1-3)},
+ PAGES = {107--139},
+ YEAR = 1996
+}
+
+@BOOK{garbagebook,
+ AUTHOR = {Richard Jones and Rafael Lins},
+ TITLE = {Garbage Collection},
+ PUBLISHER = {John Wiley \& Sons},
+ YEAR = 1996
+}
+
+@INPROCEEDINGS{Kistler97,
+ AUTHOR = {Thomas Kistler},
+ TITLE = {Dynamic Runtime Optimization},
+ BOOKTITLE = {JMLC'97 - Joint Modular Languages Conference},
+ EDITOR = {Hanspeter M\"ossenb\"ock},
+ PUBLISHER = {LNCS 1204},
+ ADDRESS = {Linz},
+ YEAR = 1997
+}
+
+@INPROCEEDINGS{KrBe95a,
+ AUTHOR = {Andreas Krall and Thomas Berger},
+ TITLE = {Incremental Global Compilation of {Prolog} with the
+ {Vienna Abstract Machine}},
+ BOOKTITLE = {Twelfth International Conference on Logic
+ Programming},
+ EDITOR = {Leon Sterling},
+ PUBLISHER = {MIT Press},
+ PAGES = {333--347},
+ ADDRESS = {Tokyo},
+ YEAR = 1995
+}
+
+@INPROCEEDINGS{KrGr97a,
+ AUTHOR = {Andreas Krall and Reinhard Grafl},
+ TITLE = {{CACAO} -- A 64 bit {JavaVM} Just-in-Time Compiler},
+ BOOKTITLE = {Workshop on Java for Science and Engineering
+ Computation},
+ EDITOR = {Geoffry C. Fox and Wei Li},
+ ORGANIZATION = {ACM},
+ MONTH = {June},
+ PAGES = {},
+ ADDRESS = {Las Vegas},
+ YEAR = 1997
+}
+
+@ARTICLE{KrGr97b,
+ AUTHOR = {Andreas Krall and Reinhard Grafl},
+ TITLE = {{CACAO} -- A 64 bit {JavaVM} Just-in-Time Compiler},
+ JOURNAL = {Concurrency: Practice and Experience},
+ PUBLISHER = {John Wiley \& Sons},
+ VOLUME = {9},
+ NUMBER = {11},
+ PAGES = {1017--1030},
+ YEAR = 1997
+}
+
+@INPROCEEDINGS{KrErGsch98,
+ AUTHOR = {Andreas Krall and Anton Ertl and Michael Gschwind},
+ TITLE = {{JavaVM} Implementations: Compilers versus Hardware},
+ BOOKTITLE = {Australian Computer Architecture Conference
+ ({ACAC'98})},
+ EDITOR = {John Morris},
+ VOLUME = {20(4)},
+ SERIES = {Australian Computer Science Communications},
+ PUBLISHER = {Springer},
+ PAGES = {101--110},
+ ADDRESS = {Perth},
+ YEAR = 1998
+}
+
+@INPROCEEDINGS{KrPr98a,
+ AUTHOR = {Andreas Krall and Mark Probst},
+ TITLE = {Monitors and Exceptions: How to implement {Java}
+ efficiently},
+ BOOKTITLE = {ACM 1998 Workshop on Java for High-Performance
+ Computing},
+ EDITOR = {Siamak Hassanzadeh and Klaus Schauser},
+ ORGANIZATION = {ACM},
+ MONTH = {March},
+ PAGES = {15--24},
+ ADDRESS = {Palo Alto},
+ YEAR = 1998
+}
+
+@ARTICLE{KrPr98b,
+ AUTHOR = {Andreas Krall and Mark Probst},
+ TITLE = {Monitors and Exceptions: How to implement {Java}
+ efficiently},
+ JOURNAL = {Concurrency: Practice and Experience},
+ PUBLISHER = {John Wiley \& Sons},
+ VOLUME = {10},
+ NUMBER = {11--13},
+ PAGES = {837--850},
+ YEAR = 1998
+}
+
+@INPROCEEDINGS{Kr98b,
+ AUTHOR = {Andreas Krall},
+ TITLE = {Efficient {JavaVM} Just-in-Time Compilation},
+ BOOKTITLE = {International Conference on Parallel Architectures
+ and Compilation Techniques},
+ EDITOR = {Jean-Luc Gaudiot},
+ ORGANIZATION = {IFIP,ACM,IEEE},
+ PUBLISHER = {North-Holland},
+ PAGES = {205--212},
+ ADDRESS = {Paris},
+ MONTH = {October},
+ YEAR = 1998
+}
+
+@INPROCEEDINGS{GrErKr01b,
+ AUTHOR = {David Gregg and M.~Anton Ertl and Andreas Krall},
+ TITLE = {Implementing an Efficient {Java} Interpreter},
+ BOOKTITLE = {HPCN'01, Java in High Performance Computing},
+ EDITOR = {Vladimir Getov and George K. Thiruvathukal},
+ SERIES = {LNCS 2110},
+ PUBLISHER = {Springer},
+ PAGES = {613--620},
+ ADDRESS = {Amsterdam},
+ MONTH = {June},
+ YEAR = 2001}
+
+@BOOK{javavm96,
+ AUTHOR = {Tim Lindholm and Frank Yellin},
+ TITLE = {The {Java} Virtual Machine Specification},
+ PUBLISHER = {Addison-Wesley},
+ YEAR = 1996
+}
+
+@INPROCEEDINGS{Muller+97,
+ AUTHOR = {Gilles Muller and Barbara Moura and Fabrice Bellard
+ and Charles Consel},
+ TITLE = {Harrisa: a Flexible and Efficient {Java} Environment
+ Mixing Bytecode and Compiled Code},
+ BOOKTITLE = {COOTS'97 - third Conference on Object-Oriented
+ Technologies and Systems},
+ YEAR = 1997
+}
+
+@PHDTHESIS{Lilith?,
+ AUTHOR = {Richard Stanley Ohran},
+ TITLE = {Lilith: a workstation computer for Modula-2},
+ SCHOOL = {ETH Z\"urich},
+ YEAR = 1984
+}
+
+@INPROCEEDINGS{PaJoSm97,
+ AUTHOR = {Subbaro Palacharia and Norman P. Jouppi and
+ J.E. Smith},
+ TITLE = {Complexity-Effective Superscalar Processors},
+ BOOKTITLE = {ISCA'97 - The 24th Annual International Symposium on
+ Computer Architecture},
+ ORGANIZATION = {ACM, IEEE},
+ YEAR = 1997
+}
+
+@BOOK{Pcode82,
+ AUTHOR = {Steven Pemberton and Martin C. Daniels},
+ TITLE = {Pascal Implementation, The P4 Compiler},
+ PUBLISHER = {Ellis Horwood},
+ YEAR = 1982
+}
+
+@BOOK{AlphaRef95,
+ AUTHOR = {R.L. Sites, R.T. Witek},
+ TITLE = {Alpha AXP Architecture Reference Manual},
+ PUBLISHER = {Digital Press},
+ YEAR = 1995
+}
+
+@INPROCEEDINGS{UNCOL61,
+ AUTHOR = {T. B. Steel},
+ TITLE = {A first version of {UNCOL}},
+ BOOKTITLE = {Proceedings of the Western Joint IRE-AIEE-ACM
+ Computer Conference},
+ YEAR = 1961,
+ PAGES = {371 -- 377}
+}
+
+@ARTICLE{AmsterdamKit83,
+ AUTHOR = {Andrew S. Tanenbaum and Hans van {Sta\-ve\-ren} and
+ E. G. Keizer and Johan W. Stevenson},
+ TITLE = {A Practical Tool Kit for making Portable Compilers},
+ JOURNAL = {Communications of the ACM},
+ VOLUME = 16,
+ NUMBER = 9,
+ PAGES = {654--660},
+ MONTH = {September},
+ YEAR = 1983
+}
+
+@ARTICLE{AmsterdamKit89,
+ AUTHOR = "A. S. Tanenbaum and M. F. Kaashoek and
+ K. G. Langendoen and C. J. H. Jacobs",
+ TITLE = "The design of very fast portable compilers",
+ JOURNAL = "ACM SIG{\-}PLAN Notices",
+ VOLUME = 24,
+ NUMBER = 11,
+ PAGES = "125--131",
+ MONTH = nov,
+ YEAR = 1989
+}
+
+@INPROCEEDINGS{Self,
+ AUTHOR = {David Ungar and Randall B. Smith},
+ TITLE = {{SELF}: The Power of Simplicity},
+ BOOKTITLE = {OOPSLA '87 Proceedings},
+ YEAR = {1987},
+ PAGES = {227--242}
+}
+
+@INPROCEEDINGS{VitekHorspool96,
+ AUTHOR = {Jan Vitek and R. Nigel Horspool},
+ TITLE = {Compact Dispatch Tables for Dynamically Typed Object
+ Oriented Languages},
+ BOOKTITLE = {6th International Conference CC '96},
+ YEAR = 1996,
+ PAGES = {307--325}
+}
+
+@INPROCEEDINGS{KrViHo97,
+ AUTHOR = {Andreas Krall and Jan Vitek and Nigel Horspool},
+ TITLE = {Near Optimal Hierarchical Encoding of Types},
+ BOOKTITLE = {11th European Conference on Object Oriented Programming ({ECOOP'97})},
+ EDITOR = {Mehmet Aksit and Satoshi Matsuoka},
+ SERIES = {LNCS 1241},
+ PUBLISHER = {Springer},
+ PAGES = {128--145},
+ ADDRESS = {Finland},
+ YEAR = 1997}
+
+@INPROCEEDINGS{ViHoKr97,
+ AUTHOR = {Jan Vitek and Nigel Horspool and Andreas Krall},
+ TITLE = {Efficient Type Inclusion Tests},
+ BOOKTITLE = {Conference on Object Oriented Programming Systems,
+ Languages \& Applications ({OOPSLA '97})},
+ EDITOR = {Toby Bloom},
+ ORGANIZATION = {ACM},
+ MONTH = {October},
+ PAGES = {142--157},
+ ADDRESS = {Atlanta},
+ YEAR = 1997
+}
+
+@INPROCEEDINGS{GehmRandScal00,
+ AUTHOR = {Sanjay Gehmawat and Keith H. Randall and Daniel
+ J. Scales},
+ TITLE = {Field Analysis: Getting Useful and Low-cost
+ Interprocedural Information},
+ BOOKTITLE = {Conference on Programming Language Design and
+ Implementation},
+ ORGANIZATION = {ACM},
+ SERIES = {SIGPLAN},
+ VOLUME = {35(5)},
+ PAGES = {334--344},
+ ADDRESS = {Vancouver},
+ YEAR = 2000
+}
+
+@INPROCEEDINGS{BodikGuptaSarkar00,
+ AUTHOR = {Rastislav Bodik and Rajiv Gupta and Vivek Sarkar},
+ TITLE = {{ABCD}: Eliminating Array Bound Checks on Demand},
+ BOOKTITLE = {Conference on Programming Language Design and
+ Implementation},
+ ORGANIZATION = {ACM},
+ SERIES = {SIGPLAN},
+ VOLUME = {35(5)},
+ PAGES = {321--333},
+ ADDRESS = {Vancouver},
+ YEAR = 2000
+}
+
+@INPROCEEDINGS{Ruf00,
+ AUTHOR = {Erik Ruf},
+ TITLE = {Effective Synchronization Removal for {Java}},
+ BOOKTITLE = {Conference on Programming Language Design and
+ Implementation},
+ ORGANIZATION = {ACM},
+ SERIES = {SIGPLAN},
+ VOLUME = {35(5)},
+ PAGES = {208--218},
+ ADDRESS = {Vancouver},
+ YEAR = 2000
+}
+
+@ARTICLE{Marmot00,
+ AUTHOR = "Robert Fitzgerald and Todd B. Knoblock and Erik Ruf and
+ Bjarne Steensgaard and David Tarditi",
+ TITLE = "Marmot: an optimizing compiler for {Java}",
+ JOURNAL = "Software -- Practice and Experience",
+ VOLUME = 30,
+ NUMBER = 3,
+ PAGES = "199--232",
+ MONTH = nov,
+ YEAR = 2000
+}
+
+@Misc{Wilkinson:97,
+ OPTkey = {},
+ author = {Tim Wilkinson},
+ title = {{KAFFE}: A free virtual machine to run {Java} code},
+ howpublished = {{\tt http: //www.kaffe.org}},
+ year = {1997},
+ OPTmonth = {},
+ OPTnote = {},
+ OPTannote = {}
+}
+
+@TechReport{Proebsting+97,
+ author = {Todd A. Proebsting and Gregg Townsend and Patrick
+ Bridges and John H. Hartman and Tim Newsham and
+ Scott A. Watterson},
+ title = {Toba: {Java} for Applications},
+ institution = {University of Arizona},
+ year = {1997},
+ OPTkey = {},
+ OPTtype = {},
+ OPTnumber = {},
+ address = {Tucson, AZ},
+ OPTmonth = {},
+ OPTnote = {},
+ OPTannote = {}
+}
+
+@BOOK{GCBook96,
+ AUTHOR = {Richard Jones and Rafael Lins},
+ TITLE = {Garbage Collection},
+ PUBLISHER = {John Wiley},
+ YEAR = 1996
+}
+
+@INCOLLECTION{garbagesurvey,
+ AUTHOR = {Paul R. Wilson},
+ TITLE = {Uniprocessor Garbage Collection Techniques},
+ BOOKTITLE = {ACM Computing Surveys},
+ PUBLISHER = {ACM},
+ PAGES = {to apear},
+ YEAR = {1994}
+}
+
+@INPROCEEDINGS{Age+98,
+ AUTHOR = {Ole Agesen and David Detlefs and J. Eliot B. Moss},
+ TITLE = {Garbage Collection and Local Variable Type-Precision
+ and Liveness in {Java} Virtual Machines},
+ BOOKTITLE = {Conference on Programming Language Design and
+ Implementation},
+ ORGANIZATION = {ACM},
+ SERIES = {SIGPLAN},
+ VOLUME = {33(6)},
+ PAGES = {269--279},
+ ADDRESS = {Montreal},
+ YEAR = 1998
+}
+
+@INPROCEEDINGS{Johnstone98,
+ AUTHOR = {Mark S. Johnstone and Paul R. Wilson},
+ TITLE = {The Memory Fragmentation Problem: Solved?},
+ BOOKTITLE = {1998 International Symposium on Memory Management},
+ ORGANIZATION = {ACM},
+ PAGES = {},
+ ADDRESS = {Vancouver},
+ YEAR = 1998
+}
+
+@INPROCEEDINGS{Hicks+98,
+ AUTHOR = {Michael Hicks and Luke Hornof and Jonathan T. Moore
+ and Scott Nettles},
+ TITLE = {A Study of Large Object Spaces},
+ BOOKTITLE = {1998 International Symposium on Memory Management},
+ ORGANIZATION = {ACM},
+ PAGES = {138--145},
+ ADDRESS = {Vancouver},
+ YEAR = 1998
+}
+
+@INPROCEEDINGS{Colnet+98,
+ AUTHOR = {Dominique Colnet and Philippe Coucaud and Olivier
+ Zendra},
+ TITLE = {Compiler Support to Customize the Mark and Sweep
+ Algorithm},
+ BOOKTITLE = {1998 International Symposium on Memory Management},
+ ORGANIZATION = {ACM},
+ PAGES = {154--165},
+ ADDRESS = {Vancouver},
+ YEAR = 1998
+}
+
+@ARTICLE{Boehm88,
+ AUTHOR = {Hans-Juergen Boehm and Mark Weiser},
+ TITLE = {Garbage Collection in an Uncooperative Environment},
+ JOURNAL = {Software Practice and Experience},
+ PUBLISHER = {John Wiley \& Sons},
+ VOLUME = {18},
+ NUMBER = {9},
+ PAGES = {807--820},
+ YEAR = 1988
+}
+
+@InProceedings{HudsonMoss:1992,
+ author = {Richard L. Hudson and J. Eliot B. Moss},
+ title = {Incremental Collection of Mature Objects},
+ booktitle = {Proceedings of the International Workshop on Memory
+ Management},
+ pages = {388--403},
+ month = {September},
+ year = {1992}
+}
+
+@TECHREPORT{Petit-Bianco99,
+ AUTHOR = {Alexandre Petit-Bianco99},
+ TITLE = {No Silver Bullet - Garbage Collection for {Java} in
+ Embedded Systems},
+ NUMBER = {http://sourceware.cygnus.com/java/},
+ INSTITUTION = {Cygnus Solutions},
+ MONTH = {August},
+ YEAR = 1998
+}
+
+@TECHREPORT{Ritzau99,
+ AUTHOR = {Alexandre Petit-Bianco99},
+ TITLE = {No Silver Bullet - Garbage Collection for {Java} in
+ Embedded Systems},
+ NUMBER = {thesis proposal, http://www.ida.liu.se/~tobri/},
+ INSTITUTION = {Link\"oping University},
+ MONTH = {August},
+ YEAR = 1998
+}
+
+@inproceedings{lim98,
+ author = {Tian F. Lim and Przemyslaw Pardyak and Brian
+ N. Bershad},
+ title = {A Memory-Efficient Real-Time Non-Copying Garbage
+ Collector},
+ pages = {118--129},
+ crossref = {ISMM98},
+ URL = "http://www.cs.washington.edu/homes/tian/ISMM98/",
+ abstract = {Garbage collectors used in operating systems such as
+ SPIN and embedded systems such as Java and Inferno
+ must operate with limited resources and minimize
+ their impact on application
+ performance. Consequently, they must maintain short
+ real-time pauses, low overhead, and a small memory
+ footprint. Most garbage collectors are not adequate
+ because they are either not real-time or they
+ require larger heaps because they trade space for
+ time. For example, Treadmill uses segregated free
+ lists to allocate and reclaim memory in constant
+ time but at the cost of under-utilizing memory. We
+ have implemented a new version of the Treadmill
+ collector and used it in the SPIN extensible
+ operating system kernel. We chose Treadmill for its
+ excellent real-time latencies and low overhead. We
+ improve its poor memory utilization by using real-
+ time page-level management techniques that reduce
+ the fragmentation caused by segregated free
+ lists. We use page-wise collection to locate pages
+ of free memory, which are dynamically reassigned
+ between free lists as needed. We use virtual memory
+ to dynamically remap free pages into continuous
+ ranges. Our experiments demonstrate that we have
+ substantially improved memory utilization without
+ compromising latency or overhead, and that the new
+ collector performs very well for SPIN's workloads.}
+}
+
+@Article{IBM:Moreira:2000,
+ author = {J. E. Moreira and S. P. Midkoff and M. Gupta and P. V. Artigas and M. Snir and R. D. Lawrence},
+ title = {Java programming for high-performance numerical computing},
+ journal = {IBM Systems Journal},
+ year = {2000},
+ OPTkey = {},
+ volume = {39},
+ number = {1},
+ pages = {21--56},
+ OPTmonth = {},
+ OPTnote = {},
+ OPTannote = {}
+}
+
+@Article{IBM:Suganuma:2000,
+ author = {T. Suganuma and T. Ogasawara and M. TaT. Yasuekeuchi and and M. Kawahito and K. Ishizaki and H. Komatsuatani},
+ title = {Overview of the {IBM} {Java} Just-in-Time Compiler},
+ journal = {IBM Systems Journal},
+ year = {2000},
+ OPTkey = {},
+ volume = {39},
+ number = {1},
+ pages = {175--193},
+ OPTmonth = {},
+ OPTnote = {},
+ OPTannote = {}
+}
+
+@TechReport{Compaq:Scales:2000,
+ author = {Daniel J. Scales and Keith H. Randall and Sanjay Ghemawat and Jeff Dean},
+ title = {The {Swift} Compiler: Design and Implementation},
+ institution = {Compaq Western Research Laboratory},
+ year = {2000},
+ OPTkey = {},
+ OPTtype = {},
+ number = {2000/2},
+ OPTaddress = {},
+ month = {April},
+ OPTnote = {},
+ OPTannote = {}
+}
+
+@Manual{NaturalBridge,
+ title = {{BulletTrainTM} optimizing compiler and runtime for {JVM} bytecode},
+ OPTkey = {},
+ OPTauthor = {},
+ organization = {NaturalBridge},
+ OPTaddress = {},
+ OPTedition = {},
+ OPTmonth = {},
+ OPTyear = {},
+ note = {{\tt http://www.naturalbridge.com}},
+ OPTannote = {}
+}
+
+
+@Manual{TowerJ,
+ title = {{TowerJ 3.0: A New Generation Native Java Compiler And Runtime Environment}},
+ OPTkey = {},
+ OPTauthor = {},
+ organization = {Tower Technologies},
+ OPTaddress = {},
+ OPTedition = {},
+ OPTmonth = {},
+ OPTyear = {},
+ note = {{\tt http://www.towerj.com}},
+ OPTannote = {}
+}
+
+@InProceedings{SGI:Smith:2000,
+ author = {Todd Smith and Suresh Srinivas and Philipp Tomsich and Jinpyo Park},
+ title = {Practical Experiences with {Java} Compilation},
+ booktitle = {Proceedings of the Intl. Conf. on High-Performance Computing},
+ OPTcrossref = {},
+ OPTkey = {},
+ OPTpages = {},
+ year = {2000},
+ OPTeditor = {},
+ volume = {1970},
+ OPTnumber = {},
+ series = {Lecture Notes in Computer Science},
+ OPTaddress = {},
+ month = {December},
+ OPTorganization = {},
+ publisher = {Springer},
+ OPTnote = {},
+ OPTannote = {}
+}
+
+@INPROCEEDINGS{DetlefsAgesen,
+ AUTHOR = "David Detlefs and Ole Agesen",
+ TITLE = "{The Case for Multiple Compilers}",
+ BOOKTITLE = "Proc. OOPSLA 1999 VM Workshop on Simplicity,
+ Performance and Portability in Virtual Machine
+ Design",
+ YEAR = 1997,
+}
+
+@InProceedings{Krall_Tomsich_1999a,
+ author = {Andreas Krall and Philipp Tomsich},
+ title = {Garbage Collection for Large Memory {Java} Applications},
+ booktitle = {Proceedings of the 7th European Conference on High-Performance Computing and Networking (HPCN Europe'99)},
+ pages = {895--907},
+ year = {1999},
+ OPTeditor = {},
+ volume = {1593},
+ series = {Lecture Notes in Computer Science},
+ month = {Apr},
+ publisher = {Springer Verlag},
+}
+
+@INPROCEEDINGS{Sable00,
+ AUTHOR = {Patrice Pominville and Feng Quian and Raja Vallee-Rai
+ and Laurie Hendren and Clark Verbrugge},
+ TITLE = {A Framework for Optimizing {Java} Using Attrributes},
+ BOOKTITLE = {CASCON},
+ ORGANIZATION = {IBM},
+ ADDRESS = {Mississauga},
+ YEAR = 2000
+}
+
+@InProceedings{Hoelzle+91,
+ author = "Urs H{\"o}lzle and Craig Chambers and David Ungar",
+ title = "Optimizing Dynamically-Typed Object-Oriented
+ Programming Languages with Polymorphic Inline Caches",
+ pages = "21--38",
+ booktitle = "Proceedings of the European Conference on Object-Oriented
+ Programming (ECOOP'91)",
+ volume = {512},
+ series = {Lecture Notes in Computer Science},
+ month = jul,
+ publisher = "Springer Verlag",
+ address = "Geneva",
+ year = "1991",
+ annote = "Abstract: Polymorphic inline caches (PICs) provide a new way to reduce the
+ overhead of polymorphic message sends by extending inline caches to include more
+ than one cached lookup result per call site. For a set of typical object-oriented
+ SELF programs, PICs achieve a median speedup of 11%.
+ As an important side effect, PICs collect type information by recording all of the
+ receiver types actually used at a given call site. The compiler can exploit this
+ type information to generate better code when recompiling a method. An
+ experimental version of such a system achieves a median speedup of 27% for our set
+ of SELF programs, reducing the number of non-inlined message sends by a factor of
+ two.
+ Implementations of dynamically-typed object-oriented languages have been limited
+ by the paucity of type information available to the compiler. The abundance of the
+ type information provided by PICs suggests a new compilation approach for these
+ languages, adaptive compilation. Such compilers may succeed in generating very
+ efficient code for the time-critical parts of a program without incurring
+ distracting compilation pauses."
+
+}
+
+@InProceedings{HoelzleUngar94,
+ author = "Urs H{\"o}lzle and David Ungar",
+ title = "Optimizing Dynamically-Dispatched Calls with Run-Time
+ Type Feedback",
+ pages = "326--336",
+ ISBN = "0-89791-662-X",
+ booktitle = "Proceedings of the Conference on Programming Language
+ Design and Implementation (PLDI'94)",
+ month = jun,
+ publisher = "ACM Press",
+ address = "New York, NY, USA",
+ year = "1994",
+}
+
+@InProceedings{DriesenHoelzle96,
+ author = "Karel Driesen and Urs H{\"o}lzle",
+ title = "The Direct Cost of Virtual Function Calls in {C++}",
+ booktitle = "Conference on Object-Oriented Programming Systems,
+ Languages \& Applications ({OOPSLA} '96)",
+ year = "1996",
+ pages = "306--323",
+ annote = "Studies the cost of virtual function calls on modern
+ processors, taking into account the effects of
+ out-of-order execution and caches. On their baseline
+ architecture, the standard implementation of virtual
+ function calls take 1\%--10\% of the instructions and
+ 2\%--29\% of the cycles. The thunk implementation is
+ slightly faster, for most benchmarks, and much faster
+ for a few. The relative cost of virtual function calls
+ will increase slightly in the future. The influences of
+ architectural variations like branch misprediction
+ penalties, branch prediction accuracy, issue widths,
+ and load latency. The cost per dispatch is 2--5 cycles
+ for most benchmarks (10 cycles for one benchmark) on
+ their baseline architecture (4-wide processor, 2 cycle
+ load latency, 4 cycle branch latency).",
+}
+
+@InProceedings{Oxhoj+92,
+ author = "Nicholas Oxh{\o}j and Jens Palsberg and Michael~I.
+ Schwartzbach",
+ editor = "O. Lehrmann~Madsen",
+ title = "{Making Type Inference Practical}",
+ booktitle = "Proceedings of the \mbox{ECOOP}~'92 European
+ Conference on Object-oriented Programming",
+ series = "LNCS 615",
+ pages = "329--349",
+ publisher = "Springer-Verlag",
+ address = "Utrecht, The Netherlands",
+ month = jul,
+ year = "1992",
+}
+
+@Article{IC::Palsberg1995,
+ refkey = "C1680; PN2520",
+ title = "Efficient Inference of Object Types",
+ author = "Jens Palsberg",
+ pages = "198--209",
+ journal = "Information and Computation",
+ month = dec,
+ year = "1995",
+ volume = "123",
+ number = "2",
+ abstract = "Abadi and Cardelli have recently investigated a
+ calculus of objects (Abadi and Cardelli, 1994). The
+ calculus supports a key feature of object-oriented
+ languages: an object can be emulated by another object
+ that has more refined methods. Abadi and Cardelli
+ presented four first-order type systems for the
+ calculus. The simplest one is based on finite types and
+ no subtyping, and the most powerful one has both
+ recursive types and subtyping. Open until now is the
+ question of type inference, and in the presence of
+ subtyping ``the absence of minimum typings poses
+ practical problems for type inference'' (Abadi and
+ Cardelli, 1994). \par In this paper we give an $O(n^3)$
+ algorithm for each of the four type inference problems
+ and we prove that all the problems are P-complete. We
+ also indicate how to modify the algorithms to handle
+ functions and records.",
+ }
+
+@InProceedings{TipPalsberg00,
+ author = "Frank Tip and Jens Palsberg",
+ title = "Scalable propagation-based call graph construction
+ algorithms.",
+ pages = "281--293",
+ booktitle = "Proceedings of the Conference on Object-Oriented
+ Programming, Systems, Languages and Application
+ ({OOPSLA}-00)",
+ month = oct,
+ series = "ACM Sigplan Notices",
+ volume = "35(10)",
+ publisher = "ACM Press",
+ address = "N. Y.",
+ year = "2000",
+}
+
+
+@InProceedings{Dean+95,
+ author = "Jeffrey Dean and David Grove and Craig Chambers",
+ title = "Optimization of Object-Oriented Programs Using Static
+ Class Hierarchy Analysis",
+ booktitle = "Proceedings of the 9th European Conference on Object-Oriented
+ Programming (ECOOP'95)",
+ volume = {952},
+ series = {Lecture Notes in Computer Science},
+ publisher = "Springer Verlag",
+ pages = "77--101",
+ year = "1995",
+}
+
+@InProceedings{BaconSweeney96,
+ author = "David F. Bacon and Peter F. Sweeney",
+ title = "Fast Static Analysis of {C}++ Virtual Function Calls",
+ booktitle = "Conference on Object-Oriented Programming Systems,
+ Languages \& Applications ({OOPSLA} '96)",
+ year = "1996",
+ pages = "324--341",
+ publisher = "ACM Press",
+ annote = "An empirical study of the effectiveness of
+ \emph{unique name} analysis, \emph{class hierarchy
+ analysis} and \emph{rapid type analysis}. Rapid type
+ analysis is an analysis that takes into account which
+ classes are actually instantiated. It is very fast and
+ detects a a significant percentage of monomorphic calls
+ for some benchmarks (up to 100\%).",
+}
+
+@phdthesis{Bacon97,
+ author = "David Francis Bacon",
+ title = "Fast and Effective Optimization of Statically Typed
+ Object-Oriented Languages",
+ school = "University of California, Berkeley",
+ year = "1997",
+ abstract = "In this dissertation, we show how a relatively simple
+ and extremely fast interprocedural optimization
+ algorithm can be used to optimize many of the expensive
+ features of statically typed, object-oriented languages
+ -- in particular, C++ and Java. We present a new
+ optimization algorithm, Rapid Type Analysis, and show
+ that it is fast both in theory and in practice, and
+ significantly out-performs other {"}fast{"} algorithms
+ for virtual function call resolution. We present
+ optimization algorithms for the resolution of virtual
+ function calls, conversion of virtual inheritance to
+ direct inheritance, elimination of dynamic casts and
+ dynamic type checks, and removal of object
+ synchronization. These algorithms are all presented
+ within a common framework that allows them to be driven
+ by the information collected by Rapid Type Analysis, or
+ by some other type analysis algorithm. Collectively,
+ the optimizations in this dissertation free the
+ programmer from having to sacrifice modularity and
+ extensibility for performance. Instead, the programmer
+ can freely make use of the most powerful features of
+ object-oriented programming, since the optimizer will
+ remove unnecessary extensibility from the program.",
+}
+
+@Article{Shivers88,
+ author = "Olin Shivers",
+ title = "Control-Flow Analysis in {Scheme}",
+ pages = "164--174",
+ journal = "ACM SIGPLAN Notices",
+ year = "1988",
+ month = jul,
+ volume = "23",
+ number = "7",
+ note = "Proceedings of the ACM SIGPLAN 1988 Conference on
+ Programming Language Design and Implementation.",
+}
+
+
+@PhdThesis{Shivers91,
+ author = "Olin Shivers",
+ title = "Control-Flow Analysis of Higher-Order Languages",
+ school = "Carnegie-Mellon University",
+ year = "1991",
+ month = may,
+}
+
+
+@InProceedings{Grove+97,
+ author = "David Grove and Greg DeFouw and
+ Jeffrey Dean and Craig Chambers",
+ title = "Call Graph Construction in Object-Oriented Languages",
+ pages = "108--124",
+ booktitle = "Proceedings of the {ACM} {SIGPLAN} Conference on
+ Object-Oriented Programming Systems, Languages and
+ Applications ({OOPSLA}-97)",
+ month = oct,
+ series = "ACM SIGPLAN Notices",
+ volume = "32, 10",
+ publisher = "ACM Press",
+ address = "New York",
+ year = "1997",
+}
+
+@InProceedings{DeFouw:1998:FIC,
+ author = "Greg DeFouw and David Grove and Craig Chambers",
+ title = "Fast interprocedural class analysis",
+ editor = "ACM",
+ booktitle = "Conference record of {POPL} '98: the 25th {ACM}
+ {SIGPLAN-SIGACT} Symposium on Principles of Programming
+ Languages: papers presented at the Symposium, San
+ Diego, California, 19--21 January 1998",
+ publisher = "ACM Press",
+ address = "New York",
+ year = "1998",
+ pages = "222--236",
+ year = "1998",
+ url = "http://www.acm.org:80/pubs/citations/proceedings/plan/268946/p222-defouw/",
+}
+
+@Article{Collin:1997:TIL,
+ author = "S. Collin and D. Colnet and O. Zendra",
+ title = "Type Inference for Late Binding: The {SmallEiffel}
+ Compiler",
+ journal = "Lecture Notes in Computer Science",
+ volume = "1204",
+ pages = "67--??",
+ year = "1997",
+ coden = "LNCSD9",
+ ISSN = "0302-9743",
+ bibdate = "Fri Aug 22 11:59:49 MDT 1997",
+ acknowledgement = ack-nhfb,
+}
+
+
+@InProceedings{Zendra+97,
+ author = "Olivier Zendra and Dominique Colnet and Suzanne
+ Collin",
+ title = "Efficient Dynamic Dispatch without Virtual Function
+ Tables: The Small {Eiffel} Compiler",
+ pages = "125--141",
+ ISSN = "0362-1340",
+ booktitle = "Proceedings of the {ACM} {SIGPLAN} Conference on
+ Object-Oriented Programming Systems, Languages and
+ Applications ({OOPSLA}-97)",
+ month = oct # "~5--9",
+ series = "ACM SIGPLAN Notices",
+ volume = "32, 10",
+ publisher = "ACM Press",
+ address = "New York",
+ year = "1997",
+}
+
+@InProceedings{Sundaresan+00,
+ author = "Vijay Sundaresan and Laurie J. Hendren and Chrislain
+ Razafimahefa and Raja Vall{\'e}e-Rai and Patrick Lam
+ and Etienne Gagnon and Charles Godin",
+ title = "Practical virtual method call resolution for Java.",
+ pages = "264--280",
+ booktitle = "Proceedings of the Conference on Object-Oriented
+ Programming, Systems, Languages and Application
+ ({OOPSLA}-00)",
+ month = oct # "~15--19",
+ series = "ACM Sigplan Notices",
+ volume = "35.10",
+ publisher = "ACM Press",
+ address = "N. Y.",
+ year = "2000",
+}
+
+@InProceedings{Myers95,
+ author = "Andrew C. Myers",
+ title = "Bidirectional Object Layout for Separate Compilation",
+ booktitle = "{OOPSLA}~'95 Conference Proceedings: Object-Oriented
+ Programming Systems, Languages, and Applications",
+ year = "1995",
+ publisher = "ACM Press",
+ pages = "124--139",
+ url = "http://www.acm.org/pubs/articles/proceedings/oops/217838/p124-myers/p124-myers.pdf",
+}
+
+@InProceedings{Stroustrup89,
+ author = "Bjarne Stroustrup",
+ title = "Multiple Inheritance for {C++}",
+ editor = "{USENIX} Association",
+ booktitle = "Computing Systems, Fall, 1989.",
+ publisher = "USENIX Association",
+ address = "Berkeley, CA, USA",
+ month = "Fall",
+ year = "1989",
+ volume = "2(4)",
+ pages = "367--395",
+}
+
+@InProceedings{Rose88,
+ author = "John R. Rose",
+ title = "Fast Dispatch Mechanisms for Stock Hardware",
+ editor = "Norman Meyrowitz",
+ booktitle = "{OOPSLA}'88: Object-Oriented Programming Systems,
+ Languages and Applications: Conference Proceedings",
+ year = "1988",
+ pages = "27--35",
+}
+
+@TechReport{Liskov+95,
+ author = "Barbara Liskov and Dorothy Curtis and Mark Day and
+ Sanjay Ghemawat and Robert Gruber and Paul Johnson and
+ Andrew C. Myers",
+ title = "Theta Reference Manual",
+ institution = "Massachusetts Institute of Technology, Laboratory for
+ Computer Science",
+ month = feb,
+ year = "1995",
+ number = "Programming Methodology Group Memo 88",
+ url = "http://clef.lcs.mit.edu/Thor-papers.html",
+}
+
+
+@InProceedings{Ishizaki+00,
+ author = "Kazuaki Ishizaki and Motohiro Kawahito and Toshiaki
+ Yasue and Hideaki Komatsu and Toshio Nakatani",
+ title = "A study of devirtualization techniques for a {JavaTM}
+ Just-In-Time compiler.",
+ pages = "294--310",
+ booktitle = "Proceedings of the Conference on Object-Oriented
+ Programming, Systems, Languages and Application
+ ({OOPSLA}-00)",
+ month = oct # "~15--19",
+ series = "ACM Sigplan Notices",
+ volume = "35.10",
+ publisher = "ACM Press",
+ address = "N. Y.",
+ year = "2000",
+}
+
+
+@INPROCEEDINGS{Alpern+01,
+ AUTHOR = {Bowen Alpern and Anthony Cocchi and David Grove and Derek Lieber},
+ TITLE = {Efficient Dispatch of {Java} Interface Methods},
+ BOOKTITLE = {HPCN'01, Java in High Performance Computing},
+ EDITOR = {Vladimir Getov and George K. Thiruvathukal},
+ SERIES = {LNCS 2110},
+ PUBLISHER = {Springer},
+ PAGES = {621--628},
+ ADDRESS = {Amsterdam},
+ MONTH = {June},
+ YEAR = 2001
+}
+
+
+@BOOK{AbramskyHankin87,
+ AUTHOR = {Samson Abramsky and Chris Hankin},
+ TITLE = {Abstract Interpretation of Declarative Languages},
+ PUBLISHER = {Ellis Horwood},
+ YEAR = 1987
+}
+
+@INPROCEEDINGS{Blanchet99,
+ AUTHOR = {Bruno Blanchet},
+ TITLE = {Escape Analysis for Object Oriented Languages:
+ Application to Java},
+ BOOKTITLE = {Proceedings of OOPSLA'99},
+ ORGANIZATION = {ACM},
+ ADDRESS = {Denver},
+ PAGES = {20--34},
+ MONTH = {November},
+ YEAR = 1999
+}
+
+@INPROCEEDINGS{Choi99,
+ AUTHOR = {J.-G. Choi and M. Gupta and M. Serrano and
+ V.C. Sreedhar and S. Midkiff},
+ TITLE = {Escape Analysis for Java},
+ BOOKTITLE = {Proceedings of OOPSLA'99},
+ ORGANIZATION = {ACM},
+ ADDRESS = {Denver},
+ PAGES = {1-19},
+ MONTH = {November},
+ YEAR = 1999
+}
+
+@ARTICLE{AitKaci89,
+ AUTHOR = {H. A\"{i}t-Kaci and R. Boyer and P. Lincoln and R.
+Nasr},
+ TITLE = {Efficient implementation of lattice operations},
+ JOURNAL = {Transactions on Programming Languages and Systems},
+ ORGANIZATION = {ACM},
+ VOLUME = 11,
+ NUMBER = 1,
+ PAGES = {115-146},
+ MONTH = {November},
+ YEAR = 1989
+}
+
+@INPROCEEDINGS{Caseau93,
+ AUTHOR = {Yves Caseau},
+ TITLE = {Efficient handling of multiple inheritance hierarchies},
+ BOOKTITLE = {Proceedings of OOPSLA'93},
+ ORGANIZATION = {ACM},
+ SERIES = {SIGPLAN},
+ VOLUME = {28(10)},
+ PAGES = {271--287},
+ YEAR = 1993
+}
+
+
+@ARTICLE{Cohen91,
+ AUTHOR = {N.J. Cohen},
+ TITLE = {Type-extension type tests can be performed in constant time},
+ JOURNAL = {Transactions on Programming Languages and Systems},
+ ORGANIZATION = {ACM},
+ VOLUME = 13,
+ NUMBER = 4,
+ PAGES = {626--629},
+ MONTH = {April},
+ YEAR = 1991
+}
+
+
+@ARTICLE{Dencker84,
+ AUTHOR = {P. Dencker and K. D\"{u}rre and J. Heuft},
+ TITLE = {Optimization of Parser Tables for Portable Compilers},
+ JOURNAL = {Transactions on Programming Languages and Systems},
+ ORGANIZATION = {ACM},
+ VOLUME = 6,
+ NUMBER = 4,
+ PAGES = {546--572},
+ MONTH = {April},
+ YEAR = 1984
+}
+
+
+@ARTICLE{KraViHo97,
+ AUTHOR = {A. Krall and J. Vitek and R.N. Horspool},
+ TITLE = {Near optimal hierarchical encoding of types},
+ BOOKTITLE = {European Conference on Object-Oriented Programming
+ ({ECOOP'97})},
+ PAGES = {128-145},
+ PUBLISHER = {LNCS 1241},
+ ADDRESS = {Jyv\"{a}skyl\"{a}},
+ YEAR = 1997
+}
+
+
+@ARTICLE{VitekHorspool94,
+ AUTHOR = {J. Vitek and R.N. Horspool},
+ TITLE = {Taming Message Passing: Efficient Method Look-Up for
+ Dynamically Typed Languages},
+ BOOKTITLE = {European Conference on Object-Oriented Programming
+ ({ECOOP'94})},
+ PAGES = {432--449},
+ PUBLISHER = {LNCS 821},
+ ADDRESS = {Bologna},
+ YEAR = 1994
+}
+
+@InProceedings{Agesen95,
+ title = "The {Cartesian} Product Algorithm: Simple and Precise
+ Type Inference of Parametric Polymorphism",
+ author = "Ole Agesen",
+ pages = "2--26",
+ editor = "Walter G. Olthoff",
+ booktitle = "{ECOOP}'95---Object-Oriented Programming, 9th European
+ Conference",
+ address = "{\AA}arhus, Denmark",
+ month = "7--11~" # aug,
+ year = "1995",
+ series = "Lecture Notes in Computer Science",
+ volume = "952",
+ publisher = "Springer",
+}
+
+@InProceedings{Jalapeno99,
+ author = "Bowen Alpern and Dick Attanasio and Anthony Cocchi and
+ Derek Lieber and Stephen Smith and Ton Ngo and John J.
+ Barton",
+ title = "Implementing Jalapeno in Java",
+ pages = "314--324",
+ editor = "Loren Meissner",
+ booktitle = "Proceeings of the 1999 {ACM} {SIGPLAN} Conference on
+ Object-Oriented Programming, Systems, Languages {\&}
+ Applications ({OOPSLA}`99)",
+ month = nov # "~1--5",
+ series = "ACM Sigplan Notices",
+ volume = "34.10",
+ publisher = "ACM Press",
+ address = "N. Y.",
+ year = "1999",
+}
+
+
+@Article{Jalapeno00,
+ author = "B. Alpern and C. R. Attanasio and J. J. Barton and M.
+ G. Burke and P. Cheng and J.-D. Choi and A. Cocchi and
+ S. J. Fink and D. Grove and M. Hind and S. F. Hummel
+ and D. Lieber and V. Litvinov and M. F. Mergen and T.
+ Ngo and J. R. Russell and V. Sarkar and M. J. Serrano
+ and J. C. Shepherd and S. E. Smith and V. C. Sreedhar
+ and H. Srinivasan and J. Whaley",
+ title = "The {Jalape{\~n}o} virtual machine",
+ journal = "IBM Systems Journal",
+ volume = "39",
+ number = "1",
+ pages = "211--238",
+ month = "????",
+ year = "2000",
+ coden = "IBMSA7",
+ ISSN = "0018-8670",
+ bibdate = "Mon Apr 24 15:43:02 MDT 2000",
+ url = "http://www.almaden.ibm.com/journal/sj/391/alpern.html",
+ acknowledgement = ack-nhfb,
+ keywords = "Java",
+}
+
+@InProceedings{HotSpot01,
+ author = "Michael Paleczny and Chnstopher Vick and Cliff Click",
+ title = "The {Java} {HotSpot} Server Compiler",
+ pages = "1--12",
+ booktitle = "Proceedings of the {$Java{\^{TM}}$} Virtual Machine
+ Research and Technology Symposium ({JVM}-01)",
+ month = apr # " ~23--24",
+ publisher = "USENIX Association",
+ address = "Berkley, USA",
+ year = "2001",
+}
+