Skip to main content

Efficient Dispatch of Java Interface Methods

  • 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:

  • 560 Accesses

Abstract

Virtual methods can be dispatched efficiently because the code for corresponding methods reside at the same entries in their respective virtual method tables (VMTs). To achieve efficient interface method dispatch, a fixed-sized interface method table (IMT) is associated with each class. Different implementations of the same interface method signature reside at the same entry in their respective IMTs. When a class implements two or more interface methods with the same IMT offset, a conflict resolution stub distinguishes between them at runtime. The resulting interface method dispatch is almost as cheap as its virtual counterpart.

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. 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. The Jalapeño virtual machine. IBM Systems Journal, 39(1), 2000.

    Google Scholar 

  2. Bowen Alpern, Dick Attanasio, John J. Barton, Anthony Cocchi, Derek Lieber, Stephen Smith, and Ton Ngo. Implementing Jalapeño in Java. In ACM Conference on Object-Oriented Programming Systems, Languages, and Applications, pages 314–324, 1999.

    Google Scholar 

  3. Bowen Alpern, Anthony Cocchi, and David Grove. Dynamic typechecking in Jalapeño. In Usenix Java Virtual Machine Research and Technology Symposium (JVM’01), April 2001.

    Google Scholar 

  4. Pascal André and Jean-Claude Royer. Optimizing method search with lookup caches and incremental coloring. In Proceedings OOPSLA’92, pages 110–126, October 1992. Published as ACM SIGPLAN Notices, volume 27,number 10.

    Google Scholar 

  5. Matthew Arnold, Stephen Fink, David Grove, Michael Hind, and Peter F. Sweeney. Adaptive optimization in the Jalapeño JVM. In ACM Conference on Object-Oriented Programming Systems, Languages, and Applications, October 2000.

    Google Scholar 

  6. Michael G. Burke, Jong-Deok Choi, Stephen Fink, David Grove, Michael Hind, Vivek Sarkar, Mauricio J. Serrano, V.C. Sreedhar, Harini Srinivasan, and John Whaley. The Jalapeño dynamic optimizing compiler for Java. In ACM 1999 Java Grande Conference, pages 129–141, June 1999.

    Google Scholar 

  7. G.J. Chaitin, M. Auslander, A. Chandra, J. Cocke, M. Hopkins, and P. Markstein. Register allocation via coloring. Computer Languages 6, pages 47–57, 1981.

    Google Scholar 

  8. B.J. Cox. Object Oriented Programming: An Evolutionary Approach. Addison-Wesley, 1987.

    Google Scholar 

  9. L. Peter Deutsch and Allan M. Schiffman. Efficient implementation of the Smalltalk-80_system. In 11th Annual ACM Symposium on the Principles of Programming Languages, pages 297–302, January 1984.

    Google Scholar 

  10. R. Dixon, T. McKee, M. Vaughan, and Paul Schweizer. A fast method dispatcher for compiled languages with multiple inheritance. In Proceedings OOPSLA’ 89, pages 211–214, October 1989. Published as ACM SIGPLAN Notices, volume 24,number 10.

    Article  Google Scholar 

  11. Karel Driesen. Selector table indexing & sparse arrays. In Proceedings OOPSLA’ 93, pages 259–270, October 1993. Published as ACM SIGPLAN Notices, volume 28,number 10.

    Article  Google Scholar 

  12. Robert Fitzgerald, Todd B. Knoblock, Erik Ruf, Bjarne Steensgaard, and David Tarditi. Marmot: An optimizing compiler for Java. Technical Report MSR-TR-99-33, Microsoft Research, June 1999.

    Google Scholar 

  13. Etienne Gagnon and Laurie Hendren. SableVM: A research framework for the efficient execution of Java bytecode. Technical Report Sable Technical Report No. 2000-3, School of Computer Science, McGill University, November 2000.

    Google Scholar 

  14. Urs Hölzle, Craig Chambers, and David Ungar. Optimizing dynamically-typed object-oriented languages with polymorphic inline caches. In P. America, editor, Proceedings ECOOP’91, LNCS 512, pages 21–38, Geneva, Switzerland, July 15-19 1991. Springer-Verlag.

    Google Scholar 

  15. Andreas Krall. Personal Communication, September 1999.

    Google Scholar 

  16. 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 

  17. G. Krasner. Smalltalk-80: Bits of History, Words of Advice. Addison-Wesley, 1983.

    Google Scholar 

  18. Tim Lindholm and Frank Yellin. The Java Virtual Machine Specification. The Java Series. Addison-Wesley, 1996.

    Google Scholar 

  19. Ganesan Ramalingam and Harini Srinivasan. Object model for Java. Technical Report 20642, IBM Research Division, December 1996.

    Google Scholar 

  20. The Standard Performance Evaluation Corporation. SPEC JVM98 Benchmarks. http://www.spec.org/osg/jvm98, 1998.

  21. Jan Vitek and Nigel Horspool. Compact dispatch tables for dynamically typed object oriented languages. In Proceedings of International Conference on Compiler Construction (CC’96), pages 281–293, April 1996. Published as LNCS vol 1060.

    Google Scholar 

  22. Jan Vitek and R. Nigel Horspool. Taming message passing: Efficient method look-up for dynamically typed languages. In M. Tokoro and R. Pareschi, editors, Proceedings ECOOP’94, LNCS 821, pages 432–449, Bologna, Italy, July 1994. Springer-Verlag.

    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

Alpern, B., Cocchi, A., Grove, D., Lieber, D. (2001). Efficient Dispatch of Java Interface Methods. 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_71

Download citation

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

  • 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