Object oriented programming: an evolutionary approach
Object oriented programming: an evolutionary approach
A fast method dispatcher for compiled languages with multiple inheritance
OOPSLA '89 Conference proceedings on Object-oriented programming systems, languages and applications
Proceedings of the ACM SIGPLAN 1997 conference on Programming language design and implementation
Tailored compression of Java class files
Software—Practice & Experience
Proceedings of the ACM SIGPLAN 1999 conference on Programming language design and implementation
Java bytecode compression for low-end embedded systems
ACM Transactions on Programming Languages and Systems (TOPLAS)
The C++ Programming Language, Third Edition
The C++ Programming Language, Third Edition
Java Virtual Machine Specification
Java Virtual Machine Specification
Taming Message Passing: Efficient Method Look-Up for Dynamically Typed Languages
ECOOP '94 Proceedings of the 8th European Conference on Object-Oriented Programming
Compact Dispatch Tables for Dynamically Typed Object Oriented Languages
CC '96 Proceedings of the 6th International Conference on Compiler Construction
Software and hardware techniques for efficient polymorphic calls
Software and hardware techniques for efficient polymorphic calls
The co-design of virtual machines using reconfigurable hardware
The co-design of virtual machines using reconfigurable hardware
Coloring, a versatile technique for implementing object-oriented languages
Software—Practice & Experience
Hi-index | 0.00 |
Method calls in object oriented languages, such as Java, are bound at run-time, making the method binding technique very important for the performance of the language. Efficient implementations can rely on having additional memory and/or processing power available either to store lookup tables or to allow for the construction of caches or rewriting of instructions during runtime. These are luxuries not always available on mobile devices such as mobile phones, tablets, etc. In this paper we describe a novel way of tokenising and compressing method dispatch tables to provide an efficient dispatch process which could be implemented in hardware in only a few operations. We demonstrate this in the context of Java, also showing a significant reduction in size for the resulting class files.