Pointers for Research on Java Implementation
This page lists interesting papers related to Java and JVM. It
is directly adapted from Bill
Pugh's Java resources page.
-
Performance Measurement of Interpreted Programs,
Tia Newhall and Barton Miller,
University of Wisconsin, EuroPar'98.
-
The Structure and Performance of Interpreters,
T. H. Romer, D. Lee, G. M. Voelker, A. Wolman, W. A. Wong, J.-L. Baer, B. N. Bershad, and H. M. Levy,
Proc. ASPLOS VII, pages 150-159.
-
"Two-Level Hybrid Interpreter/Native Code Execution for Combined Space-Time Program Efficiency",
T. Pitman,
Proc. SIGPLAN'87
Symposium on Interpreters and Interpretive Techniques, pages
150-152.
-
Optimizing an ANSI C Interpreter with Superoperators,
T. A. Proebsting,
Proc. POPL'95, pages 322-332.
-
Stack computers: the new wave,
Philip Koopman
-
A preliminary Exploration of Optimized Stack Code Generation,
Philip Koopman
- Optimizing direct threaded code by
selective inlining, Ian Piumarta and Fabio Riccardi. In
PLDI'98.
- The design of the Inferno virtual
machine, Phil Winterbottom and Rob Pike.
- The Structure and Performance of
Interpreters, Theodore H. Romer, Dennis Lee, Geoffrey
M. Voelker, Alec Wolman, Wayne A. Wong, Jean-Loup Baer, Brian
N. Bershad, and Henry M. Levy.
- Hotspot Whitepaper
-
Optimizing Java bytecodes,
M. Cierniak and W. Li,
Concurrency:
Practice and Experience 9(6), June 1997, 427-444. (slides)
-
A Java Bytecode Optimizer Using Side-effect Analysis,
Lars Raeder Clausen, Aarhus University, Denmark
-
Java on Steroids: Sun's High-Performance Java Implementation, U. Hölzle
(slides from HotChips IX, August 1997)
-
Optimizing Java: theory and practice,
Z. Budimlic and K. Kennedy,
Concurrency: Practice and Experience 9(6), June 1997, pages 445-463.
(slides)
-
CACAO - A 64 bit JavaVM Just-in-Time Compiler,
A. Krall and R. Grafl,
Concurrency: Practice and Experience 9(11), November
1997, pages 1017-1030.
- Efficient JavaVM Just-in-Time Compilation, Andreas Krall, Pact 98.
-
"Optimizing NET Compilers for Improved Java Performance",
C.-H. A. Hseih, M. T. Conte, T. L. Johnson, J. C. Gyllenhaal, and W.-M. W. Hwu,
Computer 30(6), June 1997, pages 67-75.
-
Optimizing Java,
Zoran Budimlic
-
Toba: Java For Applications, A Way Ahead of Time (WAT) Compiler,
Todd A. Proebsting,
Gregg Townsend,
Patrick Bridges,
John H. Hartman,
Tim Newsham
and
Scott A. Watterson
COOTS'97 June 1997.
- Marmot: an Optimizing Compiler for Java, Robert Fitzgerald, Todd B. Knoblock, Erik Ruf,
Bjarne Steensgaard, and David Tarditi
- Stack Allocating Objects in Java, David Gay and Bjarne Steensgaard
-
Adaptive Optimization for Self: Reconciling High Performance with Exploratory Programming,
Urs Hölzle, Ph.D Thesis
(Urs Hölzle)
- "A Third-Generation Self Implementation",
Urs Hölzl and David Ungar,
OOPSLA '94
-
"Object, Message, and Performance: How They Coexist in Self",
D. Ungar, R. B. Smith, C. Chambers, and U. Hölzle,
Computer 25(10), October 1992, pages 53-64.
-
"Iterative Type Analysis and Extended Message Splitting: Optimizing Dynamically-Typed Object-Oriented Programs",
C. Chambers and D. Ungar,
Proc. PLDI'90, pages 150-164.
-
Vortex: An Optimizing Compiler for Object-Oriented Languages
Jeffrey Dean, Greg DeFouw, David Grove, Vassily Litvinov, and Craig Chambers
(OOPSLA'96)
-
Whole-Program Optimization of Object-Oriented Languages
Craig Chambers, Jeffrey Dean, and David Grove
(Technical report, 1996)
-
Profile-Guided Receiver Class Prediction
David Grove, Jeffrey Dean, Charles Garrett, and Craig Chambers
(OOPSLA'95)
-
Methods For Enhancing the Performance of Object-Oriented Languages,
Glenn Weinstein
- Automatic Inline Allocation of Objects, Julian Dolby, PLDI 1997
- An Evaluation of Object Inline
Allocation Techniques,
Dolby & Chien, OOPSLA 1998.
- The Self Project
-
Evaluating Runtime-Compiled Value-Specific Optimizations,
D. Keppel, S. J. Eggers, and R. R. Henry,
Technical
Report 93-11-02, Department of Computer Science and
Engineering, University of Washington.
-
DCG: An Efficient, Retargetable Dynamic Code Generation System,
D. R. Engler and T. A. Proebsting,
Proc. ASPLOS-VI,
1994, pages 263-271. (slides)
-
Fast, Effective Dynamic Compilation,
J. Auslander, M. Philipose, C. Chambers, S. J. Eggers, and
B. N. Bershad,
Proc. PLDI'96, pages 149-158.
-
VCODE: A Retargetable, Extensible, Very Fast
Dynamic Code Generation System,
D. R. Engler,
Proc. PLDI'96, pages 160-170.
- Dynamic Compilation Bibliography
- Fast, effective code generation in a just-in-time Java compiler Adl-Tabatabai et al, PLDI 1998.
- Efficient JavaVM
Just-in-Time Compilation, Krall, PACT 98
- Fast, Effective Dynamic Compilation,
Joel Auslander, Matthai Philipose, Craig Chambers, Susan
Eggers, and Brian Bershad. In PLDI'96.
- tcc: A System for Fast, Flexible, and
High-Level Dynamic Code Generation, Massimiliano Poletto,
Dawson R. Engler, and M. Frans Kaashoek.
-
Garbage Collection: Algorithms for Automatic Dynamic memory Management,
R. Jones and R. Lins,
John Wiley & Sons, 1996.
-
The Garbage Collection Page,
Richard Jones
-
Uniprocessor Garbage Collection Techniques,
Paul R. Wilson,
ACM Computing Surveys
-
Dynamic Storage Allocation: A
Survey and Critical Review,
Paul R. Wilson, Mark S. Johnstone, Michael Neely, and David Boles.
In International Workshop on Memory Management, Kinross, Scotland,
UK, September 1995.
- Incremental Collection of Mature Objects, Richard Hudson and Eliot Moss. International Workshop on Memory
Management, St. Malo, France, Sept. 1992, pp. 388-403, available from Springer-Verlag.
-
Incremental Mature Garbage Collection Using the Train Algorithm,
by Jacob Seligmann and Steffen Grarup (slides)
- Java is not type-safe, Vijay Saraswat
- Dynamic Class Loading in the Java Virtual Machine,
Sheng Liang and Gilad Bracha
OOPSLA 1998.
-
Understanding Java Stack Inspection,
Dan Wallach and Edward Felten
-
George Neccula's papers
-
Java Security,
Scott Oaks,
O'Reilly
- Links on Mobile code and security, Arnaud Sahuguet.
- Extensible Security Architectures for
Java, Dan Wallach, Dirk Balfanz, Drew Dean, Edward Felten. In
SoSP'97.
- Is
the Java Type System Sound?. Sophia Drossopoulou, Susan
Eisenbach and Sarfraz Khurshid. TAPOS 5(1), 1999.
- Java
is Type Safe -- Probably. Sophia Drossopoulou and Susan
Eisenbach. ECOOP'97.
- Java
light is Type-Safe -- Definitely. Tobias Nipkow and
David von Oheimb. PoPL'98.
- Towards
an Operational Semantics and Proof of Type Soundness for Java.
Sophia Drossopoulou and Susan Eisenbach. March 1998.
- Reasoning
about Java Classes (Preliminary
report). B. Jacobs, M. Huisman, M. van Berkum, U. Hensel,
H. Tews. OOPSLA'98.
- A Type System for
Object Initialization in the Java Bytecode Language. Stephen
N. Freund and John C. Mitchell. OOPSLA'98.
- A
Type System for Java Bytecode Subroutines. Raymie Stata and
Martín Abadi. PoPL'98.
- A
Fragment Calculus -- towards a model of Separate Compilation,
Linking and Binary Compatibility. Sophia Drossopoulou, Susan
Eisenbach, David Wragg. LICS'99.
- What
is Java Binary Compatibility?. Sophia Drossopoulou,
David Wragg, Susan Eisenbach. OOPSLA'98.
- What
can Java Binary Compatibility mean?. Sophia
Drossopoulou, Susan Eisenbach, David Wragg. January 1999.
-
Code compression,
Jens Ernst,
Christopher W. Fraser,
William Evans,
Steven Lucco, and
Todd A. Proebsting,
PLDI'97: 358-365, 6/97.
(NOTE: This paper breaks ghostview, but should print OK.)
- Customs
Instruction Sets for Code Compression, Chris Frases and Todd Proebsting.
- Compressing Java Class Files,
William Pugh. In PLDI'99.
- Monitors and Exceptions: How to implement Java efficiently,
Andreas Krall and Mark Probst,
Technical University, Vienna, Austria
- Thin locks: featherweight synchronization for Java,
David F. Bacon,
Ravi Konuru,
Chet Murthy,
and Mauricio Serrano,
PLDI 1998.
- Fixing the Java Memory Model,
William Pugh, In Java Grande 99.
- Efficient
Implementations of Java RMI,
V. Krishnaswamy, D. Walther, S. Bhola, E. Bommaiah, G. Riley, B. Topol and M.
Ahamad.
In Proc. of Usenix Conference on Object-Oriented Technologies and
Systems (COOTS), April 1998.
- An Efficient Implementation of Java's Remote
Method Invocation, Jason Maassen, Rob van Nieuwpoort, Ronald
Veldema, Henri E. Bal, and Aske Plaat. In PPoPP'99.
Christopher League
<league@contrapunctus.net>