Skip to main content

Object-oriented architectural support for a Java processor

  • Conference paper
  • First Online:
ECOOP’98 — Object-Oriented Programming (ECOOP 1998)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1445))

Included in the following conference series:

Abstract

In this paper, we propose architectural support for object manipulation, stack processing and method invocation to enhance the execution speed of Java bytecodes. First, a virtual address object cache that supports efficient manipulation and relocation of objects is presented. The proposed scheme combines the serialized handle and object lookup into a single lookup. Next, the extended folding optimization that combines the execution of a sequence of bytecodes is proposed. This eliminates the redundant loads and stores of local variables associated with stack architectures. Also, three cache-based schemes: hybrid cache, hybrid polymorphic cache and two-level hybrid cache to implement virtual method invocations are presented. These schemes utilize the receiver type locality at call sites and eliminate the need for creating dispatch tables used in current JVM implementations.

This work was done when the author was at University of South Florida

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. T. Lindholm, F. Yellin, The Java Virtual Machine Specification, Addison Wesley, 1997.

    Google Scholar 

  2. B. Calder, D. Grunwald, and B. Zorn, ”Quantifying Behavioral Differences Between C and C++ Programs”, Journal of Programming Languages, Vol. 2., Num 4, 1994.

    Google Scholar 

  3. J. Michael O'Connor, M. Tremblay, ”picoJava-I: The Java Virtual Machine in Hardware”, IEEE Micro, March/April 1997, pp. 45–53.

    Google Scholar 

  4. Patriot Scientific Corporation, the PSC1000 Processor, www.ptsc.com/PSC1000.

    Google Scholar 

  5. K. Ebcioglu, E. Altman, E. Hokenek, ”A JAVA ILP Machine Based on Fast Dynamic Compilation”, International Workshop on Security and Efficiency Aspects of Java, Eilat, Israel, January 9–10, 1997

    Google Scholar 

  6. K. Driesen, U. Hoelzle and J. Vitek, ”Message Dispatch on Pipelined Processors”, proc. ECOOP' 95, 1995.

    Google Scholar 

  7. WARTS: The Wisconsin Architectural Research Tools Set, University of Wisconsin, Madison.

    Google Scholar 

  8. J. R. Jackson, Java by example, SunSoft Press, 1997.

    Google Scholar 

  9. N. P. Jouppi and S. J. E. Wilton, ”An Enhanced Access and Cycle Time Model for On-Chip Caches”, DEC-WRL Technical Report, 93.5, July 1994.

    Google Scholar 

  10. I. W. Williams, Object-Based Memory Architecture, PhD thesis, Department of Computer Science, University of Manchester, May 1989.

    Google Scholar 

  11. Open Group Research Institute Java Test Suite, http://www.gr.osf.org/java/testsuite/html/.

    Google Scholar 

  12. J. A. Dean, Whole-Program Optimization of Object-Oriented Languages, Ph.D Thesis, University of Washington, 1996.

    Google Scholar 

  13. C. A. Hsieh, et. al., ”Optimizing NET Compilers for Improved Java Performance”, Computer, June 1997, pp. 67–75.

    Google Scholar 

  14. A. Krall and R. Grafl, ”CACAO — A 64 bit JavaVM Just-in-Time Compiler”, PPoPP '97 JAVA workshop.

    Google Scholar 

  15. Deutsch and Schiffman, ” Efficient implementation of the Smalltalk-80 system”, proc. 11th ACM Symposium on the Principles of Programming Languages, Jan 1984, pp. 297–302.

    Google Scholar 

  16. D. Ungar, The Design and Evaluation of a High-Performance Smalltalk System, MIT Press, Cambridge, MA, 1987.

    Google Scholar 

  17. A. Goldberg and D. Robson, Smalltalk-80: The Language and its Implementation, Second Edition, Addision-Wesley, reading, MA, 1985.

    Google Scholar 

  18. JavaSoft Home page, http:/www.javasoft.com/

    Google Scholar 

  19. J. Vitek, ”Compact Dispatch Tables for Dynamically Typed Programming Languages”, Object Applications,ed. D. Tzichritzis, Univ. of Geneva, Centre Universitaire d'Informatique, Aug. 1996.

    Google Scholar 

  20. JLex, http://www.cs.princeton.edu/ appel/modern/java/JLex/.

    Google Scholar 

  21. EspressoGrinder, wwwipd.ira.uka.de/ espresso

    Google Scholar 

  22. Turbo J Compiler, http://www.osf.org/www/java/turbo/.

    Google Scholar 

  23. Asymetrix SuperCede, www.asymetrix.com/products/supercede/.

    Google Scholar 

  24. Toba: A Java-to-C Translator, www.cs.arizona.edu/sumatra/toba/.

    Google Scholar 

  25. Guava JIT compiler, guava.softway.com.au/index.html.

    Google Scholar 

  26. Symantec Cafe, www.symantec.com/cafe/index.product.html.

    Google Scholar 

  27. J2C, www.webcity.co.jp/info/andoh/java/j2c.html.

    Google Scholar 

  28. Jolt: Converting bytecode to C, www.blackdown.org/kbs/jolt.html.

    Google Scholar 

  29. G. Müller, B. Moura, F. Bellard and C. Consel, ”Harissa: a Flexible and Efficient Java Environment Mixing Bytecode and Compiled Code”, proc. COOTS '97.

    Google Scholar 

  30. A. Arvindam, The design and behavioral model of an enhanced FORTH architecture, Masters Thesis, Univ. of S. Florida, 1995.

    Google Scholar 

  31. KAFFE, www.kaffe.org

    Google Scholar 

  32. U. Hoelzle, C. Chambers and D. Ungar, ”Optimizing Dynamically-Typed Object-Oriented Languages with Polymorphic Inline Caches”, proc. ECOOP'91, July 1991.

    Google Scholar 

  33. ”The Unprecedented Opportunity for Java Systems”, Whitepaper 96-043, Sun Microelectronics.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Eric Jul

Rights and permissions

Reprints and permissions

Copyright information

© 1998 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Vijaykrishnan, N., Ranganathan, N., Gadekarla, R. (1998). Object-oriented architectural support for a Java processor. In: Jul, E. (eds) ECOOP’98 — Object-Oriented Programming. ECOOP 1998. Lecture Notes in Computer Science, vol 1445. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0054098

Download citation

  • DOI: https://doi.org/10.1007/BFb0054098

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-64737-9

  • Online ISBN: 978-3-540-69064-1

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics