IBM Skip to main content
  Home     Products & services     Support & downloads     My account  
  Select a country  
Journals Home  
  Systems Journal  
  ·  Current Issue  
  ·  Recent Issues  
  ·  Papers in Progress  
  ·  Search/Index  
  ·  Orders  
  ·  Description  
  ·  Author's Guide  
Journal of Research
and Development
  Staff  
  Contact Us  
Systems Journal  
Volume 39, Number 1, 2000
Java Performance
 Table of contents: arrowHTML arrowPDF arrowASCII   This article: arrowHTML arrowPDF arrowASCII
arrowCopyright info
   

The Jalapeño virtual machine - References

by B. Alpern, C. R. Attanasio, J. J. Barton, M. G. Burke, P. Cheng, J.-D. Choi, A. Cocchi, S. J. Fink, D. Grove, M. Hind, S. F. Hummel, D. Lieber, V. Litvinov, M. F. Mergen, T. Ngo, J. R. Russell, V. Sarkar, M. J. Serrano, J. C. Shepherd, S. E. Smith, V. C. Sreedhar, H. Srinivasan, and J. Whaley

Cited references and notes

  1. C. May, E. Silha, R. Simpson, and H. Warren, The PowerPC Architecture, Morgan Kaufmann Publishers, Inc., San Francisco, CA (1994).
  2. IBM AIX Version V4.3 Technical References, SBOF-1878-00, IBM Corporation (1998).
  3. B. Alpern, C. R. Attanasio, J. J. Barton, A. Cocchi, S. F. Hummel, D. Lieber, T. Ngo, M. Mergen, J. C. Shepherd, and S. E. Smith, “Implementation of Jalapeño in Java,” Proceedings, ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications, Denver, CO (November 1­5, 1999), pp. 314­324.
  4. AIX pthreads conform to the POSIX (Portable Operating System Interface for UNIX®) standard.
  5. In AIX, it is at least theoretically possible for another process to cause a shared system library to get loaded into very high memory. This remote possibility is not a concern in a research project, but would need to be addressed by a commercial Jvm. It would be sufficient to forbid read and write access to the last page of addressable memory. (Accesses to some of the fields of objects bigger than a page could be checked explicitly without having a major impact on performance.)
  6. B. Alpern, M. Charney, J.-D. Choi, A. Cocchi, and D. Lieber, “Dynamic Linking on a Shared-Memory Microprocessor,” Proceedings, International Conference on Parallel Architectures and Compilation Technologies, Newport Beach, CA (October 12­16, 1999), pp. 177­182.
  7. D. F. Bacon, R. Konuru, C. Murthy, and M. Serrano, “Thin Locks: Featherweight Synchronization for Java,” Proceedings, SIGPLAN '98 Conference on Programming Language Design and Implementation, Montreal, Canada (June 17­19, 1998), pp. 258­268.
  8. T. Onodera and K. Kawachiya, “A Study of Locking Objects with Bimodal Fields,” Proceedings, ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications, Denver, CO (November 1­5, 1999), pp. 223­227.
  9. C. A. R. Hoare, “Monitors: An Operating System Structuring Concept,” Communications of the ACM 17, No. 10, 549­557 (October 1974).
  10. R. Jones and R. Lins, Garbage Collection: Algorithms for Automatic Dynamic Memory Management, John Wiley & Sons, Inc., New York (1996).
  11. All papers in Proceedings, International Symposium on Memory Management, ACM Special Interest Group on Memory Management, Vancouver, BC (October 17­19, 1998).
  12. G. J. Chaitin, M. Auslander, A. Chandra, J. Cocke, M. Hopkins, and P. Markstein, “Register Allocation via Coloring,” Computer Languages 6, 47­57 (January 1981).
  13. D. Ungar and R. B. Smith, “Self: The Power of Simplicity,” Proceedings, ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications, Orlando, FL (October 4­8, 1987), pp. 227­242.
  14. C. Chambers, D. Ungar, and E. Lee, “An Efficient Implementation of Self—A Dynamically-Typed Object-Oriented Language Based on Prototypes,” Proceedings, OOPSLA '89 (October 1989), pp. 49­70. Published as ACM SIGPLAN Notices 24, No. 10.
  15. M. G. Burke, J.-D. Choi, S. Fink, D. Grove, M. Hind, V. Sarkar, M. J. Serrano, V. C. Sreedhar, H. Srinivasan, and J. Whaley, “The Jalapeño Dynamic Optimizing Compiler for Java,” Proceedings, ACM Java Grande Conference, San Francisco, CA (June 12­14, 1999).
  16. J.-D. Choi, D. Grove, M. Hind, and V. Sarkar, “Efficient and Precise Modeling of Exceptions for the Analysis of Java Programs,” ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools and Engineering, Toulouse, France (September 6, 1999), pp. 21­31.
  17. C. Chambers, I. Pechtchanski, V. Sarkar, M. J. Serrano, and H. Srinivasan, “Dependence Analysis for Java,” Proceedings, 12th International Workshop on Languages and Compilers for Parallel Computing, San Diego, CA (August 4­6, 1999).
  18. A. V. Aho, R. Sethi, and J. D. Ullman, Compilers: Principles, Techniques, and Tools, Addison-Wesley Publishing Co., Reading, MA (1986).
  19. J. Whaley, Dynamic Optimization Through the Use of Automatic Runtime Specialization, M. Eng. thesis, Massachusetts Institute of Technology, Cambridge, MA (May 1999).
  20. T. Lindholm and F. Yellin, The Java Virtual Machine Specification, Addison-Wesley Publishing Co., Reading, MA (1996).
  21. K. Arnold and J. Gosling, The Java Programming Language, Addison-Wesley Publishing Co., Reading, MA (1996).
  22. P. Wu, S. P. Midkiff, J. E. Moreira, and M. Gupta, “Efficient Support for Complex Numbers in Java,” Proceedings, ACM Java Grande Conference, San Francisco, CA (June 12­14, 1999).
  23. R. R. Henry, C. W. Fraser, and T. A. Proebsting, “Burg—Fast Optimal Instruction Selection and Tree Parsing,” Proceedings, SIGPLAN '92 Conference on Programming Language Design and Implementation, San Francisco, CA (June 17­19, 1992).
  24. M. A. Ertl, “Optimal Code Selection in DAGs,” Proceedings, 26th Annual ACM SIGACT-SIGPLAN Symposium on the Principles of Programming Languages, San Antonio, TX (January 20­22, 1999).
  25. V. Sarkar, M. J. Serrano, and B. B. Simons, “Retargeting Optimized Code by Matching Tree Patterns in Directed Acyclic Graphs,” patent application (December 1998).
  26. M. Poletto and V. Sarkar, “Linear Scan Register Allocation,” ACM TOPLAS (July 1999).
  27. R. Cytron, J. Ferrante, B. K. Rosen, M. N. Wegman, and F. K. Zadeck, “Efficiently Computing Static Single Assignment Form and the Control Dependence Graph,” ACM Transactions on Programming Languages and Systems 13, No. 4, 451­490 (October 1991).
  28. K. Knobe and V. Sarkar, “Conditional Constant Propagation of Scalar and Array References Using Array SSA Form,” G. Levi, Editor, Lecture Notes in Computer Science, 1503, Springer-Verlag, New York (1998), pp. 33­56.
  29. J.-D. Choi, M. Gupta, M. Serrano, V. C. Sreedhar, and S. Midkiff, “Escape Analysis for Java,” Proceedings, ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications, Denver, CO (November 1­5, 1999), pp. 1­19.
  30. F. Tip, C. Laffra, P. F. Sweeney, and D. Streeter, “Practical Experience with an Application Extractor for Java,” Proceedings, ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications, Denver, CO (November 1­5, 1999), pp. 292­305.
  31. T. Suganuma, T. Ogasawara, M. Takeuchi, T. Yasue, M. Kawahito, K. Ishizaki, H. Komatsu, and T. Nakatani, “Overview of the IBM Java Just-in-Time Compiler,” IBM Systems Journal 39 No. 1, 175­193 (2000, this issue).
  32. Just-In-Time Compilation (see http://www.symantec.com/cafe/analysis1.html#jitcomp) .
  33. The Standard Performance Evaluation Corporation, SPEC- jvm98 Benchmarks (see http:// www.spec.org/osg/jvm98/) .
  34. Note that these results do not follow the official SPEC reporting rules, and therefore should not be treated as official SPEC results.
  35. S. J. Baylor, M. Devarakonda, S. Fink, E. Gluzberg, M. Kalantar, P. Muttineni, E. Barsness, R. Arora, R. Dimpsey, and S. J. Munroe, “Java Server Benchmarks,” IBM Systems Journal 39, No. 1, 57­81 (2000, this issue).
  36. A. Taivalsaari, “Implementing a Java Virtual Machine in the Java Programming Language,” Technical Report SMLI TR-98-64, Sun Microsystems (March 1998).
  37. J. Chapin, personal communication regarding the Rivet project at MIT. See http:// sdg.lcs.mit.edu/rivet.html for further information.
  38. John Duimovich, personal communication.
  39. Java Development Kit 1.1 (see http://java.sun.com/marketing/collateral/jdk_sc.html) .
  40. The Java Hotspot Performance Engine Architecture (April 1999). White paper available at http://java.sun.com/products/hotspot/whitepaper.html .
  41. See http:// www.kaffe.org/.
  42. A. Krall and R. Grafl, “CACAO—A 64 bit Java VM Just-in-Time Compiler,” Concurrency: Practice and Experience 9, No. 11 (1987).
  43. B.-S. Yang, S.-M. Moon, S. Park, J. Lee, S. Lee, J. Park, Y. C. Chung, S. Kim, K. Ebcioglu, and E. Altman, “LaTTe: A Java VM Just-In-Time Compiler with Fast and Efficient Register Allocation,” Proceedings, IEEE International Conference on Parallel Architectures and Compilation Techniques (PACT'99), Newport Beach, CA (October 12­16, 1999), pp. 128­138.
  44. With the train algorithm, all mutators are halted, but garbage collection is done on only part of the heap. Thus the mutators have only a short “pause time.” In Jalapeño, we reduce the pause time by running a parallel collector, using multiple CPUs.
  45. D. Ingalls, T. Kaehler, J. Maloney, S. Wallace, and A. Kay, “The Story of Squeak, A Practical Smalltalk Written in Itself,” Proceedings, ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, Atlanta, GA (October 5­9, 1997), pp. 318­326.
  46. L. P. Deutsch and A. M. Schiffman, “Efficient Implementation of the Smalltalk-80 System,” Proceedings, 11th Annual ACM Symposium on the Principles of Programming Languages, Salt Lake City, Utah (January 15­18, 1984), pp. 297­302.
  47. C. Chambers, The Design and Implementation of the Self Compiler, an Optimizing Compiler for Object-Oriented Programming Languages, Ph.D. thesis, Stanford University (March 1992). Published as technical report STAN-CS-92-1420.
  48. A.-R. Ald-Tabatabai, M. Cierniak, G.-Y. Lueh, V. M. Parikh, and J. M. Stichnoth, “Fast, Effective Code Generation in a Just-in-Time Java Compiler,” Proceedings, SIGPLAN '98 Conference on Programming Language Design and Implementation, Montreal, Canada (June 17­19, 1998).
  49. K. Ebcioglu and E. Altman, “DAISY: Dynamic Compilation for 100% Architectural Compatibility,” IBM Technical Report RC 20538 (1996).
  50. C. Consel and F. Noël, “A General Approach for Run-Time Specialization and Its Application to C,” Proceedings, 23rd Annual ACM SIGACT-SIGPLAN Symposium on the Principles of Programming Languages, St. Petersburg Beach, FL (January 21­24, 1996), pp. 145­156.
  51. J. Auslander, M. Philipose, C. Chambers, S. J. Eggers, and B. N. Bershad, “Fast, Effective Dynamic Compilation,” Proceedings, SIGPLAN '96 Conference on Programming Language Design and Implementation, Philadelphia, PA (May 21­24, 1996), pp. 149­159.
  52. M. Poletto, D. R. Engler, and M. Frans Kaashoek, “tcc: A System for Fast, Flexible, and High-Level Dynamic Code Generation,” Proceedings, SIGPLAN '97 Conference on Programming Language Design and Implementation, Las Vegas, NE (June 16­18, 1997), pp. 109­121.
  53. B. Grant, M. Mock, M. Philipose, C. Chambers, and S. J. Eggers, “DyC: An Expressive Annotation-Directed Dynamic Compiler for C,” Theoretical Computer Science, to appear.
  54. C. Chambers and D. Ungar, “Iterative Type Analysis and Extended Message Splitting: Optimizing Dynamically-Typed Object-Oriented Programs,” Proceedings, SIGPLAN '90 Conference on Programming Language Design and Implementation, White Plains, NY (June 20­22, 1990), pp. 150­164.
  55. D. Grove, G. DeFouw, J. Dean, and C. Chambers, “Call Graph Construction in Object-Oriented Languages,” Proceedings, ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications, Atlanta, GA (October 5­9, 1997), pp. 108­124.
  56. F. Tip and P. F. Sweeney, “Class Hierarchy Specialization,” Proceedings, ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications, Atlanta, GA (October 5­9, 1997), pp. 271­285.
  57. P. F. Sweeney and F. Tip, “A Study of Dead Data Members in C++ Applications,” Proceedings, SIGPLAN '98 Conference on Programming Language Design and Implementation, Montreal, Canada (June 17­19, 1998), pp. 324­332.
  58. C. Chambers, J. Dean, and D. Grove, Whole-Program Optimization of Object-Oriented Languages, Technical Report UW-CSE-96-06-02, University of Washington, Department of Computer Science and Engineering (June 1996).
  59. U. Hölzle and D. Ungar, “Optimizing Dynamically Dispatched Calls with Run-Time Type Feedback,” Proceedings, SIGPLAN '94 Conference on Programming Language Design and Implementation, Orlando, FL (June 20­24, 1994), pp. 326­336.
  60. S. P. Midkiff, J. E. Moreira, and M. Snir, “Optimizing Array Reference Checking in Java Programs,” IBM Systems Journal 37, No. 3, 409­453 (1998).