Skip to main content

Implementing an Efficient Java Interpreter

  • Conference paper
  • First Online:
High-Performance Computing and Networking (HPCN-Europe 2001)

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

Included in the following conference series:

Abstract

The Java virtual machine (JVM) is usually implemented with an interpreter or just-in-time (JIT) compiler. JIT compilers provide the best performance, but must be substantially rewritten for each architecture they are ported to. Interpreters are easier to develop and maintain, and can be ported to new architectures with almost no changes. The weakness of interpreters is that they are much slower than JIT compilers. This paper describes work in progress on a highly efficient Java interpreter. We describe the main features that make our interpreter efficient. Our initial experimental results show that an interpreter-based JVM may be only 1.9 times slower than a compiler-based JVM for some important applications.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. J.R. Bell. Threaded code. Communications of the ACM, 16(6):370–372, 1973.

    Article  Google Scholar 

  2. M. Anton Ertl. Stack caching for interpreters. In SIGPLAN’95 Conference on Programming Language Design and Implementation, pages 315–327, 1995.

    Google Scholar 

  3. Jan Hoogerbrugge and Lex Augusteijn. Pipelined Java virtual machine interpreters. In Proceedings of the 9th International Conference on Compiler Construction (CC’00). Springer LNCS, 2000.

    Google Scholar 

  4. Andreas Krall and Reinhard Grafl. CACAO-a 64_bit JavaVM just-in-time compiler. Concurrency: Practice and Experience, 9(11):1017–1030, 1997.

    Article  Google Scholar 

  5. Andreas Krall. Efficient JavaVM just-in-time compilation. In Proceedings of the 1998 International Conference of Parallel Architectures and Compilation Techniques, pages 205–212. IEEE Computer Society, October 1998.

    Google Scholar 

  6. Todd Proebsting. Optimising an ANSI C interpreter with superoperators. In Proceedings of Principles of Programming Languages (POPL’95), pages 322–342, 1995.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2001 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Gregg, D., Ertl, M.A., Krall, A. (2001). Implementing an Efficient Java Interpreter. In: Hertzberger, B., Hoekstra, A., Williams, R. (eds) High-Performance Computing and Networking. HPCN-Europe 2001. Lecture Notes in Computer Science, vol 2110. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-48228-8_70

Download citation

  • DOI: https://doi.org/10.1007/3-540-48228-8_70

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-42293-8

  • Online ISBN: 978-3-540-48228-4

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics