Method Call Acceleration in Embedded Java Virtual Machines
2003, Lecture Notes in Computer Science
https://doi.org/10.1007/3-540-44863-2_73Abstract
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.
References (9)
- Goldberg A. and Robson D. Smalltalk-80: The Language and its Implementation. Addison-Wesley, 1985.
- Cox B. Object-Oriented Programming, An Evolutionary Approach. Addison-Wesley, 1987.
- Driesen K. Selector Table Indexing and Sparse Arrays. In Proceedings of OOP- SLA'93, Washington, DC, 1993.
- 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.
- 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.
- Sun MicroSystems. KVM Porting Guide. Technical report, Sun MicroSystems, California, USA, September 2001.
- Dencker P., Durre K., and Heuft J. Optimization of Parser Tables for Portable Compilers. ACM TOPLAS, 6(4):546-572, 1984.
- 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.
- Holzle U., Chambers C., and Ungar D. Optimizing Dynamically-Typed Object- Oriented Languages With Polymorphic Inline Caches. In Proceedings of ECOOP'93, 1993.