Smalltalk-80: the language and its implementation
Smalltalk-80: the language and its implementation
Optimization of parser tables for portable compilers
ACM Transactions on Programming Languages and Systems (TOPLAS) - Lecture notes in computer science Vol. 174
Computer
CommonLoops: merging Lisp and object-oriented programming
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
The design and evaluation of a high performance Smalltalk system
The design and evaluation of a high performance Smalltalk system
TS: an optimizing compiler for smalltalk
OOPSLA '88 Conference proceedings on Object-oriented programming systems, languages and applications
Efficient management of transitive relationships in large data and knowledge bases
SIGMOD '89 Proceedings of the 1989 ACM SIGMOD international conference on Management of data
An efficient implementation of SELF a dynamically-typed object-oriented language based on prototypes
OOPSLA '89 Conference proceedings on Object-oriented programming systems, languages and applications
A fast method dispatcher for compiled languages with multiple inheritance
OOPSLA '89 Conference proceedings on Object-oriented programming systems, languages and applications
The annotated C++ reference manual
The annotated C++ reference manual
Efficient method dispatch in PCL
LFP '90 Proceedings of the 1990 ACM conference on LISP and functional programming
Making pure object-oriented languages practical
OOPSLA '91 Conference proceedings on Object-oriented programming systems, languages, and applications
Static type checking of multi-methods
OOPSLA '91 Conference proceedings on Object-oriented programming systems, languages, and applications
Alpha architecture reference manual
Alpha architecture reference manual
Monotonic conflict resolution mechanisms for inheritance
OOPSLA '92 conference proceedings on Object-oriented programming systems, languages, and applications
Optimizing method search with lookup caches and incremental coloring
OOPSLA '92 conference proceedings on Object-oriented programming systems, languages, and applications
Selector table indexing & sparse arrays
OOPSLA '93 Proceedings of the eighth annual conference on Object-oriented programming systems, languages, and applications
Proposal for a monotonic multiple inheritance linearization
OOPSLA '94 Proceedings of the ninth annual conference on Object-oriented programming systems, language, and applications
Optimizing multi-method dispatch using compressed dispatch tables
OOPSLA '94 Proceedings of the ninth annual conference on Object-oriented programming systems, language, and applications
Multiple-dispatching based on automata
Theory and Practice of Object Systems - Special issue on the 1994 European Conference of Object Oriented Programming
Minimizing row displacement dispatch tables
Proceedings of the tenth annual conference on Object-oriented programming systems, languages, and applications
Typechecking and modules for multimethods
ACM Transactions on Programming Languages and Systems (TOPLAS)
Reconciling responsiveness with performance in pure object-oriented languages
ACM Transactions on Programming Languages and Systems (TOPLAS)
A monotonic superclass linearization for Dylan
Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
The art of computer programming, volume 1 (3rd ed.): fundamental algorithms
The art of computer programming, volume 1 (3rd ed.): fundamental algorithms
Fast and compact dispatching for dynamic object-oriented languages
Information Processing Letters
Optimizing Dynamically-Typed Object-Oriented Languages With Polymorphic Inline Caches
ECOOP '91 Proceedings of the European Conference on Object-Oriented Programming
Multi-Methods in a Statically-Typed Programming Language
ECOOP '91 Proceedings of the European Conference on Object-Oriented Programming
Object-Oriented Multi-Methods in Cecil
ECOOP '92 Proceedings of the European Conference on Object-Oriented Programming
Taming Message Passing: Efficient Method Look-Up for Dynamically Typed Languages
ECOOP '94 Proceedings of the 8th European Conference on Object-Oriented Programming
Supporting Explicit Disambiguation of Multi-Methods
ECCOP '96 Proceedings of the 10th 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
Efficient Dynamic Method-Lookup for Object Oriented Languages (Extended Abstract)
ESA '96 Proceedings of the Fourth Annual European Symposium on Algorithms
Type-safe relaxing of schema consistency rules for flexible modelling in OODBMS
The VLDB Journal — The International Journal on Very Large Data Bases
Efficient implementation of the smalltalk-80 system
POPL '84 Proceedings of the 11th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Efficient multiple and predicated dispatching
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Fast algorithm for creating space efficient dispatching tables with application to multi-dispatching
OOPSLA '02 Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Research Frontiers in Object Technology
Information Systems Frontiers
Object-oriented symbol management in syntax-directed compiler systems
ACM SIGPLAN Notices
Multi-method Dispatch Using Multiple Row Displacement
ECOOP '99 Proceedings of the 13th European Conference on Object-Oriented Programming
A Reflective Implementation of Java Multi-Methods
IEEE Transactions on Software Engineering
Using predicate fields in a highly flexible industrial control system
OOPSLA '05 Companion to the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Multi-dispatch in the Java virtual machine: design and implementation
COOTS'01 Proceedings of the 6th conference on USENIX Conference on Object-Oriented Technologies and Systems - Volume 6
Efficient dynamic dispatching with type slicing
ACM Transactions on Programming Languages and Systems (TOPLAS)
Implementing statically typed object-oriented programming languages
ACM Computing Surveys (CSUR)
Space efficient non-constant time multi-method dispatch in object oriented systems
ACM SIGSOFT Software Engineering Notes
Hi-index | 0.00 |
The efficiency of dynamic dispatch is a major impediment to theadoption of multimethods in object-oriented languages. In thisarticle, we propose a simple multimethod dispatch scheme based oncompressed dispatch tables. This scheme is applicable to anyobject-oriented language using a method precedence order thatsatisfies a specific monotonous property (e.g., as Cecil and Dylan)and guarantees that dynamic dispatch is performed in constant time,the latter being a major requirement for some languages andapplications. We provide efficient algorithms to build the dispatchtables, provide their worst-case complexity, and demonstrate theeffectiveness of our scheme by real measurements performed on twolarge object-oriented applications. Finally, we provide a detailedcomparison of our technique with other existing techniques.