MetaCart Sign in to MyCiteSeerX

Include Citations | Advanced Search | Help

Disambiguated Search | Include Citations | Advanced Search | Help

Message Dispatch in Dynamically-Typed Object-Oriented Languages (1995)

by Martin Müller ,  Prof Bernard ,  M. E. Moret ,  Martin M Uller ,  Martin M Uller
Add To MetaCart

Abstract:

The efficiency of dynamically-typed object-oriented languages relies on a fast message dispatch mechanism. Since type information is absent at compile-time, message expressions can be very general. A constant time solution to this problem requires the compiler to compute a full dispatch table, i.e., a complete enumeration of all possible receiver-selector pairs. Unfortunately, the space consumption of this table is prohibitive for all practical purposes. In this report, we discuss several known implementations of the dynamic dispatch algorithm based on compression techniques of the full table and discuss their drawbacks. Our main contribution is a new algorithm for message dispatching, motivated by a static class hierarchy analysis of two commercial products, the NeXTStep 3.2 and the Objectworks 4.1 class hierarchies. We summarize the run-time performance and space requirements for our algorithm. Acknowledgements I would like to thank foremost my thesis advisor Professor Bernard M.E....

Citations

1137 Smalltalk-80: The language and its implementation – Goldberg, Robson - 1983
276 Optimization of Object-Oriented Programs Using Static Class Hierarchy Analysis – Dean, Grove, et al. - 1995
193 and Bjarne Stroustrup. The Annotated C++ Reference Manual – Ellis - 1990
98 Optimizing dynamically-typed object-oriented languages with polymorphic inline caches – Hölzle, Chambers, et al. - 1991
71 Programming Languages: Concepts and Constructs, second edition – Sethi - 1996
47 Type extensions – Wirth - 1988
42 Optimizing Method Search with Lookup Caches and Incremental Coloring – Andre, Royer - 1992
37 Efficient method dispatch in PCL – Kiczales, Jr - 1993
28 Selector table indexing and sparse arrays – Driesen - 1993
23 Taming message passing: Efficient method look-up for dynamically typed languages – Vitek, Horspool - 1994
21 Type-extension type tests can be performed in constant time – Cohen - 1991
17 Measurement and application of dynamic receiver class distributions – Garrett, Dean, et al. - 1994
8 Message dispatch on modern computer architectures – Driesen, Hlzle, et al. - 1995
6 Method Lookup Strategies in Dynamically-Typed Object-Oriented Programming Languages – Driesen - 1993
6 Optimizing dynamically-dispatched calls with run-time type feedback – olzle, Ungar - 1994
6 Dynamic dispatch in object-oriented languages – Milton, Schmidt - 1994
6 Compact dispatch tables for dynamicallytyped object-oriented languages – Vitek - 1995
5 Efficient implementation of the Smalltalk-80 – Deutsch, Schiffman - 1984
2 The Java Language: A White Paper – HotJava - 1995
2 Optimizing method lookup in dynamic object-oriented languages with sparse arrays – Thorup - 1993
1 Object-Oriented Programming: An Evolutionnary Approach – Cox, Novobilski - 1991
1 The programming language Oberon-2 – Moessenboeck - 1991