1 Ishizaki+00@proceedings{ISMM98,
3 booktitle = {Proceedings of the First International Symposium on
5 title = {Proceedings of the First International Symposium on
7 editor = {Richard Jones},
14 ISBN = {1-58113-114-3},
15 note = {ISMM is the successor to the IWMM series of
19 @INPROCEEDINGS{Chan:Dadoo:Santhanam:usenix:summer:1990,
20 AUTHOR = {Paul Chan and Manoj Dadoo and Vatsa Santhanam},
21 TITLE = {Evolution of the {U-code} Compiler Intermediate
22 Language at {Hewlett-Packard}},
23 BOOKTITLE = {Proceedings of the 1990 Summer USENIX Conference},
29 @INPROCEEDINGS{Taba+98,
30 AUTHOR = {Ali-Reza Adl-Tabatabai and Michal Ciernak and
31 Guei-Yuan Lueh and Vishesh M. Parikh and James
33 TITLE = {Fast, Effective Code Generation in a Just-In-Time
35 BOOKTITLE = {Conference on Programming Language Design and
45 @INPROCEEDINGS{Bacon+98,
46 AUTHOR = {David F. Bacon and Ravi Konuru and Chet Mruthy and
48 TITLE = {Thin Locks: Featherweight Synchronization for {Java}},
49 BOOKTITLE = {Conference on Programming Language Design and
59 @INPROCEEDINGS{Cameron+92,
60 AUTHOR = {Don Cameron and Paul Faust and Dmitry Lenkov and
62 TITLE = {A Portable Implementation of {C++} Exception
64 BOOKTITLE = {C++ Technical Conference},
65 ORGANIZATION = {USENIX},
72 AUTHOR = {David Chase},
73 TITLE = {Implementation of Exception Handling},
74 JOURNAL = {Journal of C Language Translation},
82 @INPROCEEDINGS{Giering+94,
83 AUTHOR = {E. W. Giering and Frank Mueller and T. P. Baker},
84 TITLE = {Features of the {Gnu} {Ada} Runtime Library},
85 BOOKTITLE = {TRI-Ada '94},
91 @INPROCEEDINGS{Gunter+95,
92 AUTHOR = {Carl A. Gunter and Didier Remy and Jon G. Riecke},
93 TITLE = {A Generalization of Exceptions and Control in
95 BOOKTITLE = {Seventh International Conference on Functional
96 Programming Languages and Computer Architecture},
102 @ARTICLE{KoenigStroustrup90,
103 AUTHOR = {Andrew Koenig and Bjarne Stroustrup},
104 TITLE = {Exception Handling for {C++}},
105 JOURNAL = {Journal of Object Oriented Programming},
109 MONTH = {July/August},
114 AUTHOR = {Alfred V. Aho and Ravi Sethi and Jeffrey D. Ullman},
115 TITLE = {Compilers: Principles, Techniques, and Tools},
116 PUBLISHER = {Addison-Wesley},
122 AUTHOR = {Appel, A.W.},
123 TITLE = {Modern Compiler Implementation in Java},
124 PUBLISHER = {Cambridge University Press},
130 AUTHOR = {William Stallings},
131 TITLE = {Operating Systems},
132 PUBLISHER = {Prentice Hall},
136 @INPROCEEDINGS{Bershad+92,
137 AUTHOR = {Brian N. Bershad and David D. Redell and John
139 TITLE = {Fast mutual exclusion for uniprocessors},
140 BOOKTITLE = {Annual Symposium on Architectural Support for
141 Programming Languages and Operating Systems},
142 ORGANIZATION = {ACM},
148 @INPROCEEDINGS{Mueller93,
149 AUTHOR = {Frank Mueller},
150 TITLE = {A Library Implementation of {POSIX} Threads under
152 BOOKTITLE = {Winter USENIX},
154 ADDRESS = {San Diego},
159 @TECHREPORT{Keppel93,
160 AUTHOR = {David Keppel},
161 TITLE = {Tools and Techniques for Building Fast Portable
163 NUMBER = {UWCSE 93-05-06},
164 INSTITUTION = {University of Washington},
169 AUTHOR = {Peter Mehlitz},
170 TITLE = {Biss {AWT}},
171 HOWPUBLISHED = {{\tt http://www.biss-net.com/biss-awt.html}},
178 HOWPUBLISHED = {{\tt http://www.w3.org/Jigsaw/}},
182 @MISC{PosixThreads96,
184 TITLE = {Standard for Threads Interface to {POSIX}},
185 HOWPUBLISHED = {IEEE, P1003.1c},
191 TITLE = {Java Threads Whitepaper},
192 HOWPUBLISHED = {{\tt http://java.sun.com/}},
197 @INPROCEEDINGS{AltmanEbcioglu97,
198 AUTHOR = {Erik Altman and Kemal Ebcio\u{g}lu},
199 TITLE = {{DAISY}: Dynamic Compilation for 100\% Architectural
201 BOOKTITLE = {ISCA'97 - The 24th Annual International Symposium on
202 Computer Architecture},
203 ORGANIZATION = {ACM, IEEE},
208 AUTHOR = {Ken Arnold and James Gosling},
209 TITLE = {The {Java} Programming Language},
210 PUBLISHER = {Addison-Wesley},
214 @INPROCEEDINGS{bacon&sweeny96-,
215 author = {David F. Bacon and Peter F. Sweeney},
216 title = {Fast Static Analysis of {C++} Virtual Function
218 booktitle = {Conference on Object-Oriented Programming Systems,
219 Languages \& Applications (OOPSLA'96)},
220 ORGANIZATION = {ACM},
226 AUTHOR = {J. Michael O'Connor and Marc Tremblay},
227 TITLE = {{picoJava-I}: The {Java} Virtual Machine in
229 JOURNAL = {IEEE Micro},
238 AUTHOR = {Timothy Cramer and Richard Friedman and Terrence
239 Miller and David Seberger and Robert Wilson and
241 TITLE = {Compiling {Java} Just in Time},
242 JOURNAL = {IEEE Micro},
251 AUTHOR = {Ron Cytron and Jeanne Ferrante and Barry K. Rosen
252 and Mark N. Wegman and F. Kenneth Zadeck},
253 TITLE = {Efficiently computing Static Single Assignment Form
254 and the Control Flow Graph},
255 JOURNAL = {ACM Transactions on Programming Languages and
264 @INPROCEEDINGS{diwan+96-,
265 AUTHOR = {Amer Diwan and J. Eliot B. Moss and Kathryn
267 TITLE = {Simple and Effective Analysis of Statically-Typed
268 Object-Oriented Programs},
269 BOOKTITLE = {Conference on Object-Oriented Programming Systems,
270 Languages \& Applications (OOPSLA '96)},
271 ORGANIZATION = {ACM},
276 @INPROCEEDINGS{EbciogluAltman97,
277 AUTHOR = {Kemal Ebcio\u{g}lu and Erik Altman and Erdem
279 TITLE = {A {Java} {ILP} Machine based on fast Dynamic
281 BOOKTITLE = {MASCOTS'97 - International Workshop on Security and
282 Efficiency Aspects of {Java}},
286 @INPROCEEDINGS{Ertl92-,
287 AUTHOR = {M. Anton Ertl},
288 TITLE = {A New Approach to {Forth} native Code Generation},
289 BOOKTITLE = {EuroForth '92},
290 ADDRESS = {Southampton},
294 @PHDTHESIS{Ertl96phd,
295 AUTHOR = {M. Anton Ertl},
296 TITLE = {Implementation of Stack-Based Languages on Register
298 SCHOOL = {Technische Universit\"at Wien},
303 @INPROCEEDINGS{ErtlMaierhofer95,
304 AUTHOR = {M. Anton Ertl and Martin Maierhofer},
305 TITLE = {Translating {Forth} to native {C}},
306 BOOKTITLE = {EuroForth '95},
311 @INPROCEEDINGS{Ertl&Pirker97,
312 AUTHOR = {M. Anton Ertl and Christian Pirker},
313 TITLE = {The Structure of a {Forth} Native Code Compiler},
314 BOOKTITLE = {EuroForth '97 Conference Proceedings},
322 AUTHOR = {Michael Franz},
323 TITLE = {Code Generation On the Fly: A Key for Portable
325 SCHOOL = {ETH Z\"urich},
330 AUTHOR = {Adele Goldberg and David Robson},
331 TITLE = {SMALLTALK-80, The Language and its Implementation},
332 PUBLISHER = {Addison-Wesley},
336 @INPROCEEDINGS{Gough97,
337 AUTHOR = {K. John Gough},
338 TITLE = {Multi-language, Multi-target Compiler Development:
339 Evolution of the {Gardens Point} Compiler Project},
340 BOOKTITLE = {JMLC'97 --Joint Modular Languages Conference},
341 EDITOR = {Hanspeter M\"ossenb\"ock},
342 PUBLISHER = {LNCS 1204},
347 @MASTERSTHESIS{Grafl97,
348 AUTHOR = {Reinhard Grafl},
349 TITLE = {{CACAO}: {Ein 64Bit JavaVM Just-in-Time Compiler}},
350 SCHOOL = {Technische Universit\"at Wien},
355 @BOOK{hennessy&patterson90,
356 AUTHOR = {John L. Hennessy and David A. Patterson},
357 TITLE = {Computer Architecture. A Quantitative Approach},
358 PUBLISHER = {Morgan Kaufman Publishers},
363 AUTHOR = {Cheng-Hsueh A. Hsieh and Maria T. Conte and Teresa
364 L. Johnson and John C. Gyllenhaal and {Wen-mei}
366 TITLE = {Optimizing NET Compilers for Improved {Java}
368 JOURNAL = {IEEE Computer},
376 @INPROCEEDINGS{HsiehHwu97,
377 AUTHOR = {Cheng-Hsueh A. Hsieh and John C. Gyllenhaal and
379 TITLE = {Java Bytecode to Native Code Translation: The
380 {Caffeine} Prototype and Preliminary Results},
381 BOOKTITLE = {29th Annual IEEE/ACM International Symposium on
382 Microarchitecture (MICRO'29)},
388 AUTHOR = {Bruce K. Holmer and Barton Sano and Michael Carlton
389 and Peter van Roy and Alvin M. Despain},
390 TITLE = {Design and Analysis of Hardware for High-Performance
392 JOURNAL = {Journal of Logic Programming},
393 PUBLISHER = {Elsevier},
400 AUTHOR = {Richard Jones and Rafael Lins},
401 TITLE = {Garbage Collection},
402 PUBLISHER = {John Wiley \& Sons},
406 @INPROCEEDINGS{Kistler97,
407 AUTHOR = {Thomas Kistler},
408 TITLE = {Dynamic Runtime Optimization},
409 BOOKTITLE = {JMLC'97 - Joint Modular Languages Conference},
410 EDITOR = {Hanspeter M\"ossenb\"ock},
411 PUBLISHER = {LNCS 1204},
416 @INPROCEEDINGS{KrBe95a,
417 AUTHOR = {Andreas Krall and Thomas Berger},
418 TITLE = {Incremental Global Compilation of {Prolog} with the
419 {Vienna Abstract Machine}},
420 BOOKTITLE = {Twelfth International Conference on Logic
422 EDITOR = {Leon Sterling},
423 PUBLISHER = {MIT Press},
429 @INPROCEEDINGS{KrGr97a,
430 AUTHOR = {Andreas Krall and Reinhard Grafl},
431 TITLE = {{CACAO} -- A 64 bit {JavaVM} Just-in-Time Compiler},
432 BOOKTITLE = {Workshop on Java for Science and Engineering
434 EDITOR = {Geoffry C. Fox and Wei Li},
435 ORGANIZATION = {ACM},
438 ADDRESS = {Las Vegas},
443 AUTHOR = {Andreas Krall and Reinhard Grafl},
444 TITLE = {{CACAO} -- A 64 bit {JavaVM} Just-in-Time Compiler},
445 JOURNAL = {Concurrency: Practice and Experience},
446 PUBLISHER = {John Wiley \& Sons},
449 PAGES = {1017--1030},
453 @INPROCEEDINGS{KrErGsch98,
454 AUTHOR = {Andreas Krall and Anton Ertl and Michael Gschwind},
455 TITLE = {{JavaVM} Implementations: Compilers versus Hardware},
456 BOOKTITLE = {Australian Computer Architecture Conference
458 EDITOR = {John Morris},
460 SERIES = {Australian Computer Science Communications},
461 PUBLISHER = {Springer},
467 @INPROCEEDINGS{KrPr98a,
468 AUTHOR = {Andreas Krall and Mark Probst},
469 TITLE = {Monitors and Exceptions: How to implement {Java}
471 BOOKTITLE = {ACM 1998 Workshop on Java for High-Performance
473 EDITOR = {Siamak Hassanzadeh and Klaus Schauser},
474 ORGANIZATION = {ACM},
477 ADDRESS = {Palo Alto},
482 AUTHOR = {Andreas Krall and Mark Probst},
483 TITLE = {Monitors and Exceptions: How to implement {Java}
485 JOURNAL = {Concurrency: Practice and Experience},
486 PUBLISHER = {John Wiley \& Sons},
493 @INPROCEEDINGS{Kr98b,
494 AUTHOR = {Andreas Krall},
495 TITLE = {Efficient {JavaVM} Just-in-Time Compilation},
496 BOOKTITLE = {International Conference on Parallel Architectures
497 and Compilation Techniques},
498 EDITOR = {Jean-Luc Gaudiot},
499 ORGANIZATION = {IFIP,ACM,IEEE},
500 PUBLISHER = {North-Holland},
507 @INPROCEEDINGS{GrErKr01b,
508 AUTHOR = {David Gregg and M.~Anton Ertl and Andreas Krall},
509 TITLE = {Implementing an Efficient {Java} Interpreter},
510 BOOKTITLE = {HPCN'01, Java in High Performance Computing},
511 EDITOR = {Vladimir Getov and George K. Thiruvathukal},
512 SERIES = {LNCS 2110},
513 PUBLISHER = {Springer},
515 ADDRESS = {Amsterdam},
520 AUTHOR = {Tim Lindholm and Frank Yellin},
521 TITLE = {The {Java} Virtual Machine Specification},
522 PUBLISHER = {Addison-Wesley},
526 @INPROCEEDINGS{Muller+97,
527 AUTHOR = {Gilles Muller and Barbara Moura and Fabrice Bellard
529 TITLE = {Harrisa: a Flexible and Efficient {Java} Environment
530 Mixing Bytecode and Compiled Code},
531 BOOKTITLE = {COOTS'97 - third Conference on Object-Oriented
532 Technologies and Systems},
537 AUTHOR = {Richard Stanley Ohran},
538 TITLE = {Lilith: a workstation computer for Modula-2},
539 SCHOOL = {ETH Z\"urich},
543 @INPROCEEDINGS{PaJoSm97,
544 AUTHOR = {Subbaro Palacharia and Norman P. Jouppi and
546 TITLE = {Complexity-Effective Superscalar Processors},
547 BOOKTITLE = {ISCA'97 - The 24th Annual International Symposium on
548 Computer Architecture},
549 ORGANIZATION = {ACM, IEEE},
554 AUTHOR = {Steven Pemberton and Martin C. Daniels},
555 TITLE = {Pascal Implementation, The P4 Compiler},
556 PUBLISHER = {Ellis Horwood},
561 AUTHOR = {R.L. Sites, R.T. Witek},
562 TITLE = {Alpha AXP Architecture Reference Manual},
563 PUBLISHER = {Digital Press},
567 @INPROCEEDINGS{UNCOL61,
568 AUTHOR = {T. B. Steel},
569 TITLE = {A first version of {UNCOL}},
570 BOOKTITLE = {Proceedings of the Western Joint IRE-AIEE-ACM
571 Computer Conference},
576 @ARTICLE{AmsterdamKit83,
577 AUTHOR = {Andrew S. Tanenbaum and Hans van {Sta\-ve\-ren} and
578 E. G. Keizer and Johan W. Stevenson},
579 TITLE = {A Practical Tool Kit for making Portable Compilers},
580 JOURNAL = {Communications of the ACM},
588 @ARTICLE{AmsterdamKit89,
589 AUTHOR = "A. S. Tanenbaum and M. F. Kaashoek and
590 K. G. Langendoen and C. J. H. Jacobs",
591 TITLE = "The design of very fast portable compilers",
592 JOURNAL = "ACM SIG{\-}PLAN Notices",
601 AUTHOR = {David Ungar and Randall B. Smith},
602 TITLE = {{SELF}: The Power of Simplicity},
603 BOOKTITLE = {OOPSLA '87 Proceedings},
608 @INPROCEEDINGS{VitekHorspool96,
609 AUTHOR = {Jan Vitek and R. Nigel Horspool},
610 TITLE = {Compact Dispatch Tables for Dynamically Typed Object
612 BOOKTITLE = {6th International Conference CC '96},
617 @INPROCEEDINGS{KrViHo97,
618 AUTHOR = {Andreas Krall and Jan Vitek and Nigel Horspool},
619 TITLE = {Near Optimal Hierarchical Encoding of Types},
620 BOOKTITLE = {11th European Conference on Object Oriented Programming ({ECOOP'97})},
621 EDITOR = {Mehmet Aksit and Satoshi Matsuoka},
622 SERIES = {LNCS 1241},
623 PUBLISHER = {Springer},
628 @INPROCEEDINGS{ViHoKr97,
629 AUTHOR = {Jan Vitek and Nigel Horspool and Andreas Krall},
630 TITLE = {Efficient Type Inclusion Tests},
631 BOOKTITLE = {Conference on Object Oriented Programming Systems,
632 Languages \& Applications ({OOPSLA '97})},
633 EDITOR = {Toby Bloom},
634 ORGANIZATION = {ACM},
641 @INPROCEEDINGS{GehmRandScal00,
642 AUTHOR = {Sanjay Gehmawat and Keith H. Randall and Daniel
644 TITLE = {Field Analysis: Getting Useful and Low-cost
645 Interprocedural Information},
646 BOOKTITLE = {Conference on Programming Language Design and
648 ORGANIZATION = {ACM},
652 ADDRESS = {Vancouver},
656 @INPROCEEDINGS{BodikGuptaSarkar00,
657 AUTHOR = {Rastislav Bodik and Rajiv Gupta and Vivek Sarkar},
658 TITLE = {{ABCD}: Eliminating Array Bound Checks on Demand},
659 BOOKTITLE = {Conference on Programming Language Design and
661 ORGANIZATION = {ACM},
665 ADDRESS = {Vancouver},
669 @INPROCEEDINGS{Ruf00,
671 TITLE = {Effective Synchronization Removal for {Java}},
672 BOOKTITLE = {Conference on Programming Language Design and
674 ORGANIZATION = {ACM},
678 ADDRESS = {Vancouver},
683 AUTHOR = "Robert Fitzgerald and Todd B. Knoblock and Erik Ruf and
684 Bjarne Steensgaard and David Tarditi",
685 TITLE = "Marmot: an optimizing compiler for {Java}",
686 JOURNAL = "Software -- Practice and Experience",
696 author = {Tim Wilkinson},
697 title = {{KAFFE}: A free virtual machine to run {Java} code},
698 howpublished = {{\tt http://www.kaffe.org}},
705 @TechReport{Proebsting+97,
706 author = {Todd A. Proebsting and Gregg Townsend and Patrick
707 Bridges and John H. Hartman and Tim Newsham and
709 title = {Toba: {Java} for Applications},
710 institution = {University of Arizona},
715 address = {Tucson, AZ},
722 AUTHOR = {Richard Jones and Rafael Lins},
723 TITLE = {Garbage Collection},
724 PUBLISHER = {John Wiley},
728 @INCOLLECTION{garbagesurvey,
729 AUTHOR = {Paul R. Wilson},
730 TITLE = {Uniprocessor Garbage Collection Techniques},
731 BOOKTITLE = {ACM Computing Surveys},
737 @INPROCEEDINGS{Age+98,
738 AUTHOR = {Ole Agesen and David Detlefs and J. Eliot B. Moss},
739 TITLE = {Garbage Collection and Local Variable Type-Precision
740 and Liveness in {Java} Virtual Machines},
741 BOOKTITLE = {Conference on Programming Language Design and
743 ORGANIZATION = {ACM},
747 ADDRESS = {Montreal},
751 @INPROCEEDINGS{Johnstone98,
752 AUTHOR = {Mark S. Johnstone and Paul R. Wilson},
753 TITLE = {The Memory Fragmentation Problem: Solved?},
754 BOOKTITLE = {1998 International Symposium on Memory Management},
755 ORGANIZATION = {ACM},
757 ADDRESS = {Vancouver},
761 @INPROCEEDINGS{Hicks+98,
762 AUTHOR = {Michael Hicks and Luke Hornof and Jonathan T. Moore
764 TITLE = {A Study of Large Object Spaces},
765 BOOKTITLE = {1998 International Symposium on Memory Management},
766 ORGANIZATION = {ACM},
768 ADDRESS = {Vancouver},
772 @INPROCEEDINGS{Colnet+98,
773 AUTHOR = {Dominique Colnet and Philippe Coucaud and Olivier
775 TITLE = {Compiler Support to Customize the Mark and Sweep
777 BOOKTITLE = {1998 International Symposium on Memory Management},
778 ORGANIZATION = {ACM},
780 ADDRESS = {Vancouver},
785 AUTHOR = {Hans-Juergen Boehm and Mark Weiser},
786 TITLE = {Garbage Collection in an Uncooperative Environment},
787 JOURNAL = {Software Practice and Experience},
788 PUBLISHER = {John Wiley \& Sons},
795 @InProceedings{HudsonMoss:1992,
796 author = {Richard L. Hudson and J. Eliot B. Moss},
797 title = {Incremental Collection of Mature Objects},
798 booktitle = {Proceedings of the International Workshop on Memory
805 @TECHREPORT{Petit-Bianco99,
806 AUTHOR = {Alexandre Petit-Bianco99},
807 TITLE = {No Silver Bullet - Garbage Collection for {Java} in
809 NUMBER = {http://sourceware.cygnus.com/java/},
810 INSTITUTION = {Cygnus Solutions},
815 @TECHREPORT{Ritzau99,
816 AUTHOR = {Alexandre Petit-Bianco99},
817 TITLE = {No Silver Bullet - Garbage Collection for {Java} in
819 NUMBER = {thesis proposal, http://www.ida.liu.se/~tobri/},
820 INSTITUTION = {Link\"oping University},
825 @inproceedings{lim98,
826 author = {Tian F. Lim and Przemyslaw Pardyak and Brian
828 title = {A Memory-Efficient Real-Time Non-Copying Garbage
832 URL = "http://www.cs.washington.edu/homes/tian/ISMM98/",
833 abstract = {Garbage collectors used in operating systems such as
834 SPIN and embedded systems such as Java and Inferno
835 must operate with limited resources and minimize
836 their impact on application
837 performance. Consequently, they must maintain short
838 real-time pauses, low overhead, and a small memory
839 footprint. Most garbage collectors are not adequate
840 because they are either not real-time or they
841 require larger heaps because they trade space for
842 time. For example, Treadmill uses segregated free
843 lists to allocate and reclaim memory in constant
844 time but at the cost of under-utilizing memory. We
845 have implemented a new version of the Treadmill
846 collector and used it in the SPIN extensible
847 operating system kernel. We chose Treadmill for its
848 excellent real-time latencies and low overhead. We
849 improve its poor memory utilization by using real-
850 time page-level management techniques that reduce
851 the fragmentation caused by segregated free
852 lists. We use page-wise collection to locate pages
853 of free memory, which are dynamically reassigned
854 between free lists as needed. We use virtual memory
855 to dynamically remap free pages into continuous
856 ranges. Our experiments demonstrate that we have
857 substantially improved memory utilization without
858 compromising latency or overhead, and that the new
859 collector performs very well for SPIN's workloads.}
862 @Article{IBM:Moreira:2000,
863 author = {J. E. Moreira and S. P. Midkoff and M. Gupta and P. V. Artigas and M. Snir and R. D. Lawrence},
864 title = {Java programming for high-performance numerical computing},
865 journal = {IBM Systems Journal},
876 @Article{IBM:Suganuma:2000,
877 author = {T. Suganuma and T. Ogasawara and M. TaT. Yasuekeuchi and and M. Kawahito and K. Ishizaki and H. Komatsuatani},
878 title = {Overview of the {IBM} {Java} Just-in-Time Compiler},
879 journal = {IBM Systems Journal},
890 @TechReport{Compaq:Scales:2000,
891 author = {Daniel J. Scales and Keith H. Randall and Sanjay Ghemawat and Jeff Dean},
892 title = {The {Swift} Compiler: Design and Implementation},
893 institution = {Compaq Western Research Laboratory},
904 @Manual{NaturalBridge,
905 title = {{BulletTrainTM} optimizing compiler and runtime for {JVM} bytecode},
908 organization = {NaturalBridge},
913 note = {{\tt http://www.naturalbridge.com}},
919 title = {{TowerJ 3.0: A New Generation Native Java Compiler And Runtime Environment}},
922 organization = {Tower Technologies},
927 note = {{\tt http://www.towerj.com}},
931 @InProceedings{SGI:Smith:2000,
932 author = {Todd Smith and Suresh Srinivas and Philipp Tomsich and Jinpyo Park},
933 title = {Practical Experiences with {Java} Compilation},
934 booktitle = {Proceedings of the Intl. Conf. on High-Performance Computing},
942 series = {Lecture Notes in Computer Science},
945 OPTorganization = {},
946 publisher = {Springer},
951 @INPROCEEDINGS{DetlefsAgesen,
952 AUTHOR = "David Detlefs and Ole Agesen",
953 TITLE = "{The Case for Multiple Compilers}",
954 BOOKTITLE = "Proc. OOPSLA 1999 VM Workshop on Simplicity,
955 Performance and Portability in Virtual Machine
960 @InProceedings{Krall_Tomsich_1999a,
961 author = {Andreas Krall and Philipp Tomsich},
962 title = {Garbage Collection for Large Memory {Java} Applications},
963 booktitle = {Proceedings of the 7th European Conference on High-Performance Computing and Networking (HPCN Europe'99)},
968 series = {Lecture Notes in Computer Science},
970 publisher = {Springer Verlag},
973 @INPROCEEDINGS{Sable00,
974 AUTHOR = {Patrice Pominville and Feng Quian and Raja Vallee-Rai
975 and Laurie Hendren and Clark Verbrugge},
976 TITLE = {A Framework for Optimizing {Java} Using Attrributes},
977 BOOKTITLE = {CASCON},
978 ORGANIZATION = {IBM},
979 ADDRESS = {Mississauga},
983 @InProceedings{Hoelzle+91,
984 author = "Urs H{\"o}lzle and Craig Chambers and David Ungar",
985 title = "Optimizing Dynamically-Typed Object-Oriented
986 Programming Languages with Polymorphic Inline Caches",
988 booktitle = "Proceedings of the European Conference on Object-Oriented
989 Programming (ECOOP'91)",
991 series = {Lecture Notes in Computer Science},
993 publisher = "Springer Verlag",
996 annote = "Abstract: Polymorphic inline caches (PICs) provide a new way to reduce the
997 overhead of polymorphic message sends by extending inline caches to include more
998 than one cached lookup result per call site. For a set of typical object-oriented
999 SELF programs, PICs achieve a median speedup of 11%.
1000 As an important side effect, PICs collect type information by recording all of the
1001 receiver types actually used at a given call site. The compiler can exploit this
1002 type information to generate better code when recompiling a method. An
1003 experimental version of such a system achieves a median speedup of 27% for our set
1004 of SELF programs, reducing the number of non-inlined message sends by a factor of
1006 Implementations of dynamically-typed object-oriented languages have been limited
1007 by the paucity of type information available to the compiler. The abundance of the
1008 type information provided by PICs suggests a new compilation approach for these
1009 languages, adaptive compilation. Such compilers may succeed in generating very
1010 efficient code for the time-critical parts of a program without incurring
1011 distracting compilation pauses."
1015 @InProceedings{HoelzleUngar94,
1016 author = "Urs H{\"o}lzle and David Ungar",
1017 title = "Optimizing Dynamically-Dispatched Calls with Run-Time
1020 ISBN = "0-89791-662-X",
1021 booktitle = "Proceedings of the Conference on Programming Language
1022 Design and Implementation (PLDI'94)",
1024 publisher = "ACM Press",
1025 address = "New York, NY, USA",
1029 @InProceedings{DriesenHoelzle96,
1030 author = "Karel Driesen and Urs H{\"o}lzle",
1031 title = "The Direct Cost of Virtual Function Calls in {C++}",
1032 booktitle = "Conference on Object-Oriented Programming Systems,
1033 Languages \& Applications ({OOPSLA} '96)",
1036 annote = "Studies the cost of virtual function calls on modern
1037 processors, taking into account the effects of
1038 out-of-order execution and caches. On their baseline
1039 architecture, the standard implementation of virtual
1040 function calls take 1\%--10\% of the instructions and
1041 2\%--29\% of the cycles. The thunk implementation is
1042 slightly faster, for most benchmarks, and much faster
1043 for a few. The relative cost of virtual function calls
1044 will increase slightly in the future. The influences of
1045 architectural variations like branch misprediction
1046 penalties, branch prediction accuracy, issue widths,
1047 and load latency. The cost per dispatch is 2--5 cycles
1048 for most benchmarks (10 cycles for one benchmark) on
1049 their baseline architecture (4-wide processor, 2 cycle
1050 load latency, 4 cycle branch latency).",
1053 @InProceedings{Oxhoj+92,
1054 author = "Nicholas Oxh{\o}j and Jens Palsberg and Michael~I.
1056 editor = "O. Lehrmann~Madsen",
1057 title = "{Making Type Inference Practical}",
1058 booktitle = "Proceedings of the \mbox{ECOOP}~'92 European
1059 Conference on Object-oriented Programming",
1060 series = "LNCS 615",
1062 publisher = "Springer-Verlag",
1063 address = "Utrecht, The Netherlands",
1068 @Article{IC::Palsberg1995,
1069 refkey = "C1680; PN2520",
1070 title = "Efficient Inference of Object Types",
1071 author = "Jens Palsberg",
1073 journal = "Information and Computation",
1078 abstract = "Abadi and Cardelli have recently investigated a
1079 calculus of objects (Abadi and Cardelli, 1994). The
1080 calculus supports a key feature of object-oriented
1081 languages: an object can be emulated by another object
1082 that has more refined methods. Abadi and Cardelli
1083 presented four first-order type systems for the
1084 calculus. The simplest one is based on finite types and
1085 no subtyping, and the most powerful one has both
1086 recursive types and subtyping. Open until now is the
1087 question of type inference, and in the presence of
1088 subtyping ``the absence of minimum typings poses
1089 practical problems for type inference'' (Abadi and
1090 Cardelli, 1994). \par In this paper we give an $O(n^3)$
1091 algorithm for each of the four type inference problems
1092 and we prove that all the problems are P-complete. We
1093 also indicate how to modify the algorithms to handle
1094 functions and records.",
1097 @InProceedings{TipPalsberg00,
1098 author = "Frank Tip and Jens Palsberg",
1099 title = "Scalable propagation-based call graph construction
1102 booktitle = "Proceedings of the Conference on Object-Oriented
1103 Programming, Systems, Languages and Application
1106 series = "ACM Sigplan Notices",
1108 publisher = "ACM Press",
1114 @InProceedings{Dean+95,
1115 author = "Jeffrey Dean and David Grove and Craig Chambers",
1116 title = "Optimization of Object-Oriented Programs Using Static
1117 Class Hierarchy Analysis",
1118 booktitle = "Proceedings of the 9th European Conference on Object-Oriented
1119 Programming (ECOOP'95)",
1121 series = {Lecture Notes in Computer Science},
1122 publisher = "Springer Verlag",
1127 @InProceedings{BaconSweeney96,
1128 author = "David F. Bacon and Peter F. Sweeney",
1129 title = "Fast Static Analysis of {C}++ Virtual Function Calls",
1130 booktitle = "Conference on Object-Oriented Programming Systems,
1131 Languages \& Applications ({OOPSLA} '96)",
1134 publisher = "ACM Press",
1135 annote = "An empirical study of the effectiveness of
1136 \emph{unique name} analysis, \emph{class hierarchy
1137 analysis} and \emph{rapid type analysis}. Rapid type
1138 analysis is an analysis that takes into account which
1139 classes are actually instantiated. It is very fast and
1140 detects a a significant percentage of monomorphic calls
1141 for some benchmarks (up to 100\%).",
1145 author = "David Francis Bacon",
1146 title = "Fast and Effective Optimization of Statically Typed
1147 Object-Oriented Languages",
1148 school = "University of California, Berkeley",
1150 abstract = "In this dissertation, we show how a relatively simple
1151 and extremely fast interprocedural optimization
1152 algorithm can be used to optimize many of the expensive
1153 features of statically typed, object-oriented languages
1154 -- in particular, C++ and Java. We present a new
1155 optimization algorithm, Rapid Type Analysis, and show
1156 that it is fast both in theory and in practice, and
1157 significantly out-performs other {"}fast{"} algorithms
1158 for virtual function call resolution. We present
1159 optimization algorithms for the resolution of virtual
1160 function calls, conversion of virtual inheritance to
1161 direct inheritance, elimination of dynamic casts and
1162 dynamic type checks, and removal of object
1163 synchronization. These algorithms are all presented
1164 within a common framework that allows them to be driven
1165 by the information collected by Rapid Type Analysis, or
1166 by some other type analysis algorithm. Collectively,
1167 the optimizations in this dissertation free the
1168 programmer from having to sacrifice modularity and
1169 extensibility for performance. Instead, the programmer
1170 can freely make use of the most powerful features of
1171 object-oriented programming, since the optimizer will
1172 remove unnecessary extensibility from the program.",
1176 author = "Olin Shivers",
1177 title = "Control-Flow Analysis in {Scheme}",
1179 journal = "ACM SIGPLAN Notices",
1184 note = "Proceedings of the ACM SIGPLAN 1988 Conference on
1185 Programming Language Design and Implementation.",
1189 @PhdThesis{Shivers91,
1190 author = "Olin Shivers",
1191 title = "Control-Flow Analysis of Higher-Order Languages",
1192 school = "Carnegie-Mellon University",
1198 @InProceedings{Grove+97,
1199 author = "David Grove and Greg DeFouw and
1200 Jeffrey Dean and Craig Chambers",
1201 title = "Call Graph Construction in Object-Oriented Languages",
1203 booktitle = "Proceedings of the {ACM} {SIGPLAN} Conference on
1204 Object-Oriented Programming Systems, Languages and
1205 Applications ({OOPSLA}-97)",
1207 series = "ACM SIGPLAN Notices",
1209 publisher = "ACM Press",
1210 address = "New York",
1214 @InProceedings{DeFouw:1998:FIC,
1215 author = "Greg DeFouw and David Grove and Craig Chambers",
1216 title = "Fast interprocedural class analysis",
1218 booktitle = "Conference record of {POPL} '98: the 25th {ACM}
1219 {SIGPLAN-SIGACT} Symposium on Principles of Programming
1220 Languages: papers presented at the Symposium, San
1221 Diego, California, 19--21 January 1998",
1222 publisher = "ACM Press",
1223 address = "New York",
1227 url = "http://www.acm.org:80/pubs/citations/proceedings/plan/268946/p222-defouw/",
1230 @Article{Collin:1997:TIL,
1231 author = "S. Collin and D. Colnet and O. Zendra",
1232 title = "Type Inference for Late Binding: The {SmallEiffel}
1234 journal = "Lecture Notes in Computer Science",
1240 bibdate = "Fri Aug 22 11:59:49 MDT 1997",
1241 acknowledgement = ack-nhfb,
1245 @InProceedings{Zendra+97,
1246 author = "Olivier Zendra and Dominique Colnet and Suzanne
1248 title = "Efficient Dynamic Dispatch without Virtual Function
1249 Tables: The Small {Eiffel} Compiler",
1252 booktitle = "Proceedings of the {ACM} {SIGPLAN} Conference on
1253 Object-Oriented Programming Systems, Languages and
1254 Applications ({OOPSLA}-97)",
1255 month = oct # "~5--9",
1256 series = "ACM SIGPLAN Notices",
1258 publisher = "ACM Press",
1259 address = "New York",
1263 @InProceedings{Sundaresan+00,
1264 author = "Vijay Sundaresan and Laurie J. Hendren and Chrislain
1265 Razafimahefa and Raja Vall{\'e}e-Rai and Patrick Lam
1266 and Etienne Gagnon and Charles Godin",
1267 title = "Practical virtual method call resolution for Java.",
1269 booktitle = "Proceedings of the Conference on Object-Oriented
1270 Programming, Systems, Languages and Application
1272 month = oct # "~15--19",
1273 series = "ACM Sigplan Notices",
1275 publisher = "ACM Press",
1280 @InProceedings{Myers95,
1281 author = "Andrew C. Myers",
1282 title = "Bidirectional Object Layout for Separate Compilation",
1283 booktitle = "{OOPSLA}~'95 Conference Proceedings: Object-Oriented
1284 Programming Systems, Languages, and Applications",
1286 publisher = "ACM Press",
1288 url = "http://www.acm.org/pubs/articles/proceedings/oops/217838/p124-myers/p124-myers.pdf",
1291 @InProceedings{Stroustrup89,
1292 author = "Bjarne Stroustrup",
1293 title = "Multiple Inheritance for {C++}",
1294 editor = "{USENIX} Association",
1295 booktitle = "Computing Systems, Fall, 1989.",
1296 publisher = "USENIX Association",
1297 address = "Berkeley, CA, USA",
1304 @InProceedings{Rose88,
1305 author = "John R. Rose",
1306 title = "Fast Dispatch Mechanisms for Stock Hardware",
1307 editor = "Norman Meyrowitz",
1308 booktitle = "{OOPSLA}'88: Object-Oriented Programming Systems,
1309 Languages and Applications: Conference Proceedings",
1314 @TechReport{Liskov+95,
1315 author = "Barbara Liskov and Dorothy Curtis and Mark Day and
1316 Sanjay Ghemawat and Robert Gruber and Paul Johnson and
1318 title = "Theta Reference Manual",
1319 institution = "Massachusetts Institute of Technology, Laboratory for
1323 number = "Programming Methodology Group Memo 88",
1324 url = "http://clef.lcs.mit.edu/Thor-papers.html",
1328 @InProceedings{Ishizaki+00,
1329 author = "Kazuaki Ishizaki and Motohiro Kawahito and Toshiaki
1330 Yasue and Hideaki Komatsu and Toshio Nakatani",
1331 title = "A study of devirtualization techniques for a {JavaTM}
1332 Just-In-Time compiler.",
1334 booktitle = "Proceedings of the Conference on Object-Oriented
1335 Programming, Systems, Languages and Application
1337 month = oct # "~15--19",
1338 series = "ACM Sigplan Notices",
1340 publisher = "ACM Press",
1346 @INPROCEEDINGS{Alpern+01,
1347 AUTHOR = {Bowen Alpern and Anthony Cocchi and David Grove and Derek Lieber},
1348 TITLE = {Efficient Dispatch of {Java} Interface Methods},
1349 BOOKTITLE = {HPCN'01, Java in High Performance Computing},
1350 EDITOR = {Vladimir Getov and George K. Thiruvathukal},
1351 SERIES = {LNCS 2110},
1352 PUBLISHER = {Springer},
1354 ADDRESS = {Amsterdam},
1360 @BOOK{AbramskyHankin87,
1361 AUTHOR = {Samson Abramsky and Chris Hankin},
1362 TITLE = {Abstract Interpretation of Declarative Languages},
1363 PUBLISHER = {Ellis Horwood},
1367 @INPROCEEDINGS{Blanchet99,
1368 AUTHOR = {Bruno Blanchet},
1369 TITLE = {Escape Analysis for Object Oriented Languages:
1370 Application to Java},
1371 BOOKTITLE = {Proceedings of OOPSLA'99},
1372 ORGANIZATION = {ACM},
1379 @INPROCEEDINGS{Choi99,
1380 AUTHOR = {J.-G. Choi and M. Gupta and M. Serrano and
1381 V.C. Sreedhar and S. Midkiff},
1382 TITLE = {Escape Analysis for Java},
1383 BOOKTITLE = {Proceedings of OOPSLA'99},
1384 ORGANIZATION = {ACM},
1392 AUTHOR = {H. A\"{i}t-Kaci and R. Boyer and P. Lincoln and R.
1394 TITLE = {Efficient implementation of lattice operations},
1395 JOURNAL = {Transactions on Programming Languages and Systems},
1396 ORGANIZATION = {ACM},
1404 @INPROCEEDINGS{Caseau93,
1405 AUTHOR = {Yves Caseau},
1406 TITLE = {Efficient handling of multiple inheritance hierarchies},
1407 BOOKTITLE = {Proceedings of OOPSLA'93},
1408 ORGANIZATION = {ACM},
1417 AUTHOR = {N.J. Cohen},
1418 TITLE = {Type-extension type tests can be performed in constant time},
1419 JOURNAL = {Transactions on Programming Languages and Systems},
1420 ORGANIZATION = {ACM},
1430 AUTHOR = {P. Dencker and K. D\"{u}rre and J. Heuft},
1431 TITLE = {Optimization of Parser Tables for Portable Compilers},
1432 JOURNAL = {Transactions on Programming Languages and Systems},
1433 ORGANIZATION = {ACM},
1443 AUTHOR = {A. Krall and J. Vitek and R.N. Horspool},
1444 TITLE = {Near optimal hierarchical encoding of types},
1445 BOOKTITLE = {European Conference on Object-Oriented Programming
1448 PUBLISHER = {LNCS 1241},
1449 ADDRESS = {Jyv\"{a}skyl\"{a}},
1454 @ARTICLE{VitekHorspool94,
1455 AUTHOR = {J. Vitek and R.N. Horspool},
1456 TITLE = {Taming Message Passing: Efficient Method Look-Up for
1457 Dynamically Typed Languages},
1458 BOOKTITLE = {European Conference on Object-Oriented Programming
1461 PUBLISHER = {LNCS 821},
1462 ADDRESS = {Bologna},
1466 @InProceedings{Agesen95,
1467 title = "The {Cartesian} Product Algorithm: Simple and Precise
1468 Type Inference of Parametric Polymorphism",
1469 author = "Ole Agesen",
1471 editor = "Walter G. Olthoff",
1472 booktitle = "{ECOOP}'95---Object-Oriented Programming, 9th European
1474 address = "{\AA}arhus, Denmark",
1475 month = "7--11~" # aug,
1477 series = "Lecture Notes in Computer Science",
1479 publisher = "Springer",
1482 @InProceedings{Jalapeno99,
1483 author = "Bowen Alpern and Dick Attanasio and Anthony Cocchi and
1484 Derek Lieber and Stephen Smith and Ton Ngo and John J.
1486 title = "Implementing Jalapeno in Java",
1488 editor = "Loren Meissner",
1489 booktitle = "Proceeings of the 1999 {ACM} {SIGPLAN} Conference on
1490 Object-Oriented Programming, Systems, Languages {\&}
1491 Applications ({OOPSLA}`99)",
1492 month = nov # "~1--5",
1493 series = "ACM Sigplan Notices",
1495 publisher = "ACM Press",
1501 @Article{Jalapeno00,
1502 author = "B. Alpern and C. R. Attanasio and J. J. Barton and M.
1503 G. Burke and P. Cheng and J.-D. Choi and A. Cocchi and
1504 S. J. Fink and D. Grove and M. Hind and S. F. Hummel
1505 and D. Lieber and V. Litvinov and M. F. Mergen and T.
1506 Ngo and J. R. Russell and V. Sarkar and M. J. Serrano
1507 and J. C. Shepherd and S. E. Smith and V. C. Sreedhar
1508 and H. Srinivasan and J. Whaley",
1509 title = "The {Jalape{\~n}o} virtual machine",
1510 journal = "IBM Systems Journal",
1518 bibdate = "Mon Apr 24 15:43:02 MDT 2000",
1519 url = "http://www.almaden.ibm.com/journal/sj/391/alpern.html",
1520 acknowledgement = ack-nhfb,
1524 @InProceedings{HotSpot01,
1525 author = "Michael Paleczny and Chnstopher Vick and Cliff Click",
1526 title = "The {Java} {HotSpot} Server Compiler",
1528 booktitle = "Proceedings of the {$Java{\^{TM}}$} Virtual Machine
1529 Research and Technology Symposium ({JVM}-01)",
1530 month = apr # " ~23--24",
1531 publisher = "USENIX Association",
1532 address = "Berkley, USA",
1537 AUTHOR = {Tim Lindholm and Frank Yellin},
1538 TITLE = {The {Java} Virtual Machine Specification, Second Edition},
1539 PUBLISHER = {Addison-Wesley},
1543 @inproceedings{Coglio02,
1544 author = "A. Coglio",
1545 title = "Simple Verification Technique for Complex Java Bytecode Subroutines",
1546 booktitle = "Proc. 4th ECOOP Workshop on Formal Techniques for Javalike
1549 url = "citeseer.nj.nec.com/coglio02simple.html"
1552 @inproceedings{Coglio01,
1553 author = "A. Coglio",
1554 title = "Improving the official specification of Java bytecode verification",
1555 booktitle = "Proc. 3rd ECOOP Workshop on Formal Techniques for Java Programs",
1558 url = "citeseer.nj.nec.com/coglio01improving.html"
1561 @INPROCEEDINGS{OgKoNa02,
1562 AUTHOR = {Takeshi Ogasawara and Hideaki Komatsu and Toshio Nakatani},
1563 TITLE = {{Optimizing Precision Overhead for x86 Processors}},
1564 BOOKTITLE = {2nd Java Virtual Machine Research and Technology Symposium (JVM '02)},
1566 VOLUME = {August 1--2},
1572 TITLE = {{Advanced Micro Devices}},
1573 HOWPUBLISHED = {\texttt{http://www.amd.com/}},
1580 HOWPUBLISHED = {\texttt{http://www.amd64.org/}},
1584 @unpublished{AMD64ABI,
1586 AUTHOR = {Jan Hubicka and Andreas Jaeger and Mark Mitchell},
1587 TITLE = {{System V Application Binary Interface, AMD64 Architecture Processor Supplement}},
1588 NOTE = {\texttt{http://www.amd64.org/}},
1595 TITLE = {Blackdown.org},
1596 HOWPUBLISHED = {\texttt{http://www.blackdown.org/}},
1602 TITLE = {The {GNU} Compiler for the {J}ava Programming Language},
1603 HOWPUBLISHED = {\texttt{http://gcc.gnu.org/java/}},
1609 TITLE = {Sun {M}icrosystems},
1610 HOWPUBLISHED = {\texttt{http://www.sun.com/}},
1616 TITLE = {Sun {M}icrosystems {J}ava {V}irtual {M}achine},
1617 HOWPUBLISHED = {\texttt{http://java.sun.com/j2se/}},
1623 TITLE = {{IBM} {J}ava {V}irtual {M}achine},
1624 HOWPUBLISHED = {\texttt{http://www-106.ibm.com/developerworks/java/jdk/}},
1630 TITLE = {{SUSE} {L}inux},
1631 HOWPUBLISHED = {\texttt{http://www.suse.com/}},
1636 TITLE = {IA-32 Intel Architecture Software Developer's Manual Volume 1: Basic Architecture},
1637 ORGANIZATION = {Intel Cooperation},
1638 ADDRESS = {P.O. Box 7641 Mt. Prospect IL 60056-7641},
1639 NOTE = {{Order Number: 245470-009}},
1644 TITLE = {IA-32 Intel Architecture Optimization Reference Manual},
1645 ORGANIZATION = {Intel Cooperation},
1646 ADDRESS = {\texttt{http://developer.intel.com}},
1647 NOTE = {{Order Number: 248966-009}},
1652 TITLE = {AMD Athlon Processor x86 Code Optimization Guide},
1653 ORGANIZATION = {Advanced Micro Devices, Inc.},
1654 NOTE = {{Publication No. 22007}},
1661 TITLE = {{KJC} {K}opi {J}ava {C}ompiler},
1662 HOWPUBLISHED = {\texttt{http://www.dms.at/kopi/}},
1666 @MASTERSTHESIS{Lackner2001,
1667 AUTHOR = {Martin Lackner},
1668 TITLE = {Extending {J}ava},
1669 SCHOOL = {Technische Universit\"at Wien},
1674 @InProceedings{1998:iccl:jensen,
1675 author = "T. Jensen and D. Le M{\'e}tayer and T. Thorn",
1676 title = "Security and Dynamic Class Loading in {J}ava: {A}
1678 booktitle = "Proceedings of the 1998 International Conference on
1679 Computer Languages",
1680 publisher = "IEEE Computer Society Press",
1682 ISBN = "0-780-35005-7, 0-8186-8454-2, 0-8186-8456-9",
1686 @Misc{oai:CiteSeerPSU:523425,
1687 title = "Dynamic Class Loading in the Java",
1688 author = "Gilad Bracha and Sheng Liang",
1690 month = sep # "~26",
1691 annote = "The Pennsylvania State University CiteSeer Archives",
1693 oai = "oai:CiteSeerPSU:523425",
1694 rights = "unrestricted",
1695 subject = "Gilad Bracha,Sheng Liang Dynamic Class Loading in the
1697 URL = "http://citeseer.ist.psu.edu/523425.html;
1698 http://www.cs.utah.edu/~gary/classloaders.ps",
1701 @Article{Norton:2000:DCL,
1702 author = "James Norton",
1703 title = "Dynamic Class Loading in {C++}",
1704 journal = "Linux Journal",
1711 bibdate = "Thu Sep 21 07:44:12 MDT 2000",
1712 URL = "http://noframes.linuxjournal.com/lj-issues/issue73/3687.html",
1713 acknowledgement = ack-nhfb,
1716 @InProceedings{alpe02,
1717 title = "Experiences Porting the {J}ikes {RVM} to
1719 author = "Bowen Alpern and Maria Butrico and Anthony Cocchi and
1720 Julian Dolby and Stephen Fink and David Grove and Ngo
1722 booktitle = "Usenix Java Virtual Machine Research and Technology
1723 Symposium ({JVM} '02)",
1724 address = "San Francisco, CA",
1727 URL = "http://www.research.ibm.com/people/d/dgrove/papers/jvm02.pdf"
1730 @Article{Alpern:2000:JAV,
1731 author = "B. Alpern and C. R. Attanasio and J. J. Barton and Burke
1732 Burke and P. Cheng and J.-D. Choi and A. Cocchi and
1733 S. J. Fink and D. Grove and M. Hind and S. F. Hummel
1734 and D. Lieber and V. Litvinov and M. F. Mergen and Ngo
1735 Ngo and J. R. Russell and V. Sarkar and M. J. Serrano
1736 and J. C. Shepherd and S. E. Smith and V. C. Sreedhar
1737 and H. Srinivasan and J. Whaley",
1738 title = "The {Jalape{\~n}o} virtual machine",
1739 journal = "IBM Systems Journal",
1747 bibdate = "Mon Apr 24 15:43:02 MDT 2000",
1748 URL = "http://www.research.ibm.com/journal/sj/391/alpern.html",
1749 acknowledgement = ack-nhfb,
1751 ordernumber = "G321-0137",
1756 TITLE = {Java Platform Debugger Architecture (JPDA) specification},
1757 HOWPUBLISHED = {{\tt http://java.sun.com/j2se/1.5.0/docs/guide/jpda/architecture.html}},
1762 TITLE = {Java Virtual Machine Tool Interface (JVMTI) specification},
1763 HOWPUBLISHED = {{\tt http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html}},
1768 HOWPUBLISHED = {{\tt http://www.sablevm.org/}}
1773 HOWPUBLISHED = {{\tt http://gcc.gnu.org/java/}}
1777 TITLE = {GNU classpath},
1778 HOWPUBLISHED = {{\tt http://www.gnu.org/software/classpath}}
1783 HOWPUBLISHED = {{\tt http://www.eclipse.org}}
1788 HOWPUBLISHED = {see linux manual page for ptrace}
1793 HOWPUBLISHED = {{\tt http://www.gnu.org/software/gdb/}}