Method Call Acceleration in Embedded Java Virtual Machines

  • M. Debbabi
  • M. Erhioui
  • L. Ketari
  • N. Tawbi
  • H. Yahyaoui
  • S. Zhioua
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2659)

Abstract

Object oriented languages, in particular Java, use a frequent dynamic dispatch mechanism to search for the definition of an invoked method. A method could be defined in more than one class. The search for the appropriate method definition is performed dynamically. This induces an execution time overhead that is significant. Many static and dynamic techniques have been proposed to minimize the cost of such an overhead. Generally, these techniques are not adequate for embedded Java platforms with resource constraints because they require a relatively big memory space. The paper proposes a dynamic, flexible and efficient technique for accelerating method calls mechanism in embedded systems. This acceleration technique spans over 3 aspects of the method call: (1) lookup, (2) caching, and (3) synchronized methods.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Goldberg A. and Robson D. Smalltalk-80: The Language and its Implementation. Addison-Wesley, 1985.Google Scholar
  2. 2.
    Cox B. Object-Oriented Programming, An Evolutionary Approach. Addison-Wesley, 1987.Google Scholar
  3. 3.
    Driesen K. Selector Table Indexing and Sparse Arrays. In Proceedings of OOPSLA’ 93, Washington, DC, 1993.Google Scholar
  4. 4.
    Ishizaki K., Yasue T., Kawahito M., and Komatsu H. A Study of Devirtualization Techniques for a Java Just-In-Time Compiler. In Proceedings of the ACM-SIGPLAN Conference on Object-Oriented Programmimg Systems, Languages and Applications, pages 294–310, Minneapolis, Minnesota, USA, October 2000.Google Scholar
  5. 5.
    Deutsch L.P. and Schiffman A. Efficient Implementation of the Smalltalk-80 System. In Proceedings of the 11th Symposium on Principles of Programming Languages, Salt Lake City, UT, 1984.Google Scholar
  6. 6.
    Sun MicroSystems. KVM Porting Guide. Technical report, Sun MicroSystems, California, USA, September 2001.Google Scholar
  7. 7.
    Dencker P., Durre K., and Heuft J. Optimization of Parser Tables for Portable Compilers. ACM TOPLAS, 6(4):546–572, 1984.CrossRefGoogle Scholar
  8. 8.
    Vijay S., Laurie H., Chrislain R. and Raja V., Patrick L., Etienne G., and Charles G. Practical Virtual Method Call Resolution for Java. In Proceedings of the ACM-SIGPLAN Conference on Object-Oriented Programmimg Systems, Languages and Applications, pages 264–280, Minneapolis, Minnesota, USA, October 2000.Google Scholar
  9. 9.
    Holzle U., Chambers C., and Ungar D. Optimizing Dynamically-Typed Object-Oriented Languages With Polymorphic Inline Caches. In Proceedings of ECOOP’93, 1993.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2003

Authors and Affiliations

  • M. Debbabi
    • 1
    • 2
  • M. Erhioui
    • 2
  • L. Ketari
    • 2
  • N. Tawbi
    • 2
  • H. Yahyaoui
    • 2
  • S. Zhioua
    • 2
  1. 1.Panasonic Information and Networking Technologies LaboratoryPrincetonUSA
  2. 2.Computer Science DepartmentLaval UniversityQuebecCanada

Personalised recommendations