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", } @BOOK{javavm99, AUTHOR = {Tim Lindholm and Frank Yellin}, TITLE = {The {Java} Virtual Machine Specification, Second Edition}, PUBLISHER = {Addison-Wesley}, YEAR = 1999 } @inproceedings{Coglio02, author = "A. Coglio", title = "Simple Verification Technique for Complex Java Bytecode Subroutines", booktitle = "Proc. 4th ECOOP Workshop on Formal Techniques for Javalike Programs", year = "2002", url = "citeseer.nj.nec.com/coglio02simple.html" } @inproceedings{Coglio01, author = "A. Coglio", title = "Improving the official specification of Java bytecode verification", booktitle = "Proc. 3rd ECOOP Workshop on Formal Techniques for Java Programs", month =jun, year = "2001", url = "citeseer.nj.nec.com/coglio01improving.html" } @INPROCEEDINGS{OgKoNa02, AUTHOR = {Takeshi Ogasawara and Hideaki Komatsu and Toshio Nakatani}, TITLE = {{Optimizing Precision Overhead for x86 Processors}}, BOOKTITLE = {2nd Java Virtual Machine Research and Technology Symposium (JVM '02)}, PAGES = {41--50}, VOLUME = {August 1--2}, YEAR = 2003 } @misc{AMD, KEY = {AMD}, TITLE = {{Advanced Micro Devices}}, HOWPUBLISHED = {\texttt{http://www.amd.com/}}, YEAR = 2004 } @misc{AMD64, KEY = {AMD64}, TITLE = {{AMD64}}, HOWPUBLISHED = {\texttt{http://www.amd64.org/}}, YEAR = 2004 } @unpublished{AMD64ABI, KEY = {AMD64ABI}, AUTHOR = {Jan Hubicka and Andreas Jaeger and Mark Mitchell}, TITLE = {{System V Application Binary Interface, AMD64 Architecture Processor Supplement}}, NOTE = {\texttt{http://www.amd64.org/}}, MONTH = {July}, YEAR = 2004 } @misc{Blackdown, KEY = {Blackdown}, TITLE = {Blackdown.org}, HOWPUBLISHED = {\texttt{http://www.blackdown.org/}}, YEAR = 2003 } @misc{GCJ, KEY = {GCJ}, TITLE = {The {GNU} Compiler for the {J}ava Programming Language}, HOWPUBLISHED = {\texttt{http://gcc.gnu.org/java/}}, YEAR = 2004 } @misc{Sun, KEY = {SUN}, TITLE = {Sun {M}icrosystems}, HOWPUBLISHED = {\texttt{http://www.sun.com/}}, YEAR = 2004 } @misc{SunJVM, KEY = {SunJVM}, TITLE = {Sun {M}icrosystems {J}ava {V}irtual {M}achine}, HOWPUBLISHED = {\texttt{http://java.sun.com/j2se/}}, YEAR = 2004 } @misc{IBMJVM, KEY = {IBMJVM}, TITLE = {{IBM} {J}ava {V}irtual {M}achine}, HOWPUBLISHED = {\texttt{http://www-106.ibm.com/developerworks/java/jdk/}}, YEAR = 2004 } @misc{SUSE, KEY = {SUSE}, TITLE = {{SUSE} {L}inux}, HOWPUBLISHED = {\texttt{http://www.suse.com/}}, YEAR = 2004 } @manual{IA32vol1, TITLE = {IA-32 Intel Architecture Software Developer's Manual Volume 1: Basic Architecture}, ORGANIZATION = {Intel Cooperation}, ADDRESS = {P.O. Box 7641 Mt. Prospect IL 60056-7641}, NOTE = {{Order Number: 245470-009}}, YEAR = 2002 } @manual{IA32opt, TITLE = {IA-32 Intel Architecture Optimization Reference Manual}, ORGANIZATION = {Intel Cooperation}, ADDRESS = {\texttt{http://developer.intel.com}}, NOTE = {{Order Number: 248966-009}}, YEAR = 2003 } @manual{AMDopt, TITLE = {AMD Athlon Processor x86 Code Optimization Guide}, ORGANIZATION = {Advanced Micro Devices, Inc.}, NOTE = {{Publication No. 22007}}, MONTH = {February}, YEAR = 2002 } @MISC{KJC, KEY = {KJC}, TITLE = {{KJC} {K}opi {J}ava {C}ompiler}, HOWPUBLISHED = {\texttt{http://www.dms.at/kopi/}}, YEAR = 2004 } @MASTERSTHESIS{Lackner2001, AUTHOR = {Martin Lackner}, TITLE = {Extending {J}ava}, SCHOOL = {Technische Universit\"at Wien}, MONTH = {May}, YEAR = 2001 } @InProceedings{1998:iccl:jensen, author = "T. Jensen and D. Le M{\'e}tayer and T. Thorn", title = "Security and Dynamic Class Loading in {J}ava: {A} Formalisation", booktitle = "Proceedings of the 1998 International Conference on Computer Languages", publisher = "IEEE Computer Society Press", year = "1998", ISBN = "0-780-35005-7, 0-8186-8454-2, 0-8186-8456-9", pages = "4--15", } @Misc{oai:CiteSeerPSU:523425, title = "Dynamic Class Loading in the Java", author = "Gilad Bracha and Sheng Liang", year = "1999", month = sep # "~26", annote = "The Pennsylvania State University CiteSeer Archives", language = "en", oai = "oai:CiteSeerPSU:523425", rights = "unrestricted", subject = "Gilad Bracha,Sheng Liang Dynamic Class Loading in the Java", URL = "http://citeseer.ist.psu.edu/523425.html; http://www.cs.utah.edu/~gary/classloaders.ps", } @Article{Norton:2000:DCL, author = "James Norton", title = "Dynamic Class Loading in {C++}", journal = "Linux Journal", volume = "73", pages = "??--??", month = may, year = "2000", CODEN = "LIJOFX", ISSN = "1075-3583", bibdate = "Thu Sep 21 07:44:12 MDT 2000", URL = "http://noframes.linuxjournal.com/lj-issues/issue73/3687.html", acknowledgement = ack-nhfb, } @InProceedings{alpe02, title = "Experiences Porting the {J}ikes {RVM} to {L}inux/{IA}32", author = "Bowen Alpern and Maria Butrico and Anthony Cocchi and Julian Dolby and Stephen Fink and David Grove and Ngo Ngo", booktitle = "Usenix Java Virtual Machine Research and Technology Symposium ({JVM} '02)", address = "San Francisco, CA", month = aug, year = "2002", URL = "http://www.research.ibm.com/people/d/dgrove/papers/jvm02.pdf" } @Article{Alpern:2000:JAV, author = "B. Alpern and C. R. Attanasio and J. J. Barton and Burke 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 Ngo 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.research.ibm.com/journal/sj/391/alpern.html", acknowledgement = ack-nhfb, keywords = "Java", ordernumber = "G321-0137", } @MISC{jpda, KEY = {jpda}, TITLE = {Java Platform Debugger Architecture (JPDA) specification}, HOWPUBLISHED = {{\tt http://java.sun.com/j2se/1.5.0/docs/guide/jpda/architecture.html}}, } @MISC{jvmti, KEY = {jvmti}, TITLE = {Java Virtual Machine Tool Interface (JVMTI) specification}, HOWPUBLISHED = {{\tt http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html}}, } @MISC{sablevm, TITLE = {Sable VM}, HOWPUBLISHED = {{\tt http://www.sablevm.org/}} } @MISC{gij, TITLE = {GCJ/GIJ}, HOWPUBLISHED = {{\tt http://gcc.gnu.org/java/}} } @MISC{classpath, TITLE = {GNU classpath}, HOWPUBLISHED = {{\tt http://www.gnu.org/software/classpath}} } @MISC{eclipse, TITLE = {Eclipse}, HOWPUBLISHED = {{\tt http://www.eclipse.org}} } @MISC{ptrace, TITLE = {PTrace}, HOWPUBLISHED = {see linux manual page for ptrace} } @MISC{gdb, TITLE = {gdb}, HOWPUBLISHED = {{\tt http://www.gnu.org/software/gdb/}} } @MISC{s390:bib:principles, KEY = {PRINCIPLES}, TITLE = {Enterprise Systems Architecture/390, Principles of Operation, Seventh Edition}, YEAR = 1999, ORGANIZATION = {International Business Machines Corporation} } @MISC{s390:bib:gcc, KEY = {GCC}, TITLE = {Porting GCC to the IBM S/390 platform}, AUTHOR = {Hartmut Penner, Ulrich Weigand}, ORGANIZATION = {IBM Deutschland Entwicklung GmbH}, } @MISC{s390:bib:abi, KEY = {ABI}, TITLE = {LINUX for S/390, ELF Application Binary Interface Supplement}, YEAR = 2001, ORGANIZATION = {International Business Machines Corporation} }