Skip to main content

A general framework for inheritance management and method dispatch in object-oriented languages

  • Conference paper
  • First Online:
ECOOP'97 — Object-Oriented Programming (ECOOP 1997)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1241))

Included in the following conference series:

Abstract

This paper presents the DT Framework, a collection of object-oriented classes representing a generalized framework for inheritance management and table-based method dispatch. It demonstrates how most existing table-based dispatch techniques can be generalized and made incremental, so that relevant entries in the dispatch table are modified each time a selector or class hierarchy link is added or removed. The incremental nature makes the framework highly efficient, with low millisecond average modification time, and supports table-based dispatch even in schema-evolving languages. During table maintenance, the framework detects and records inheritance conflicts, and maintains information useful during compile-time optimizations.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. P. Andre and J.C. Royer. Optimizing method search with lookup caches and incremental coloring. In OOPSLA'92 Conference Proceedings, 1992.

    Google Scholar 

  2. Craig Chambers. Object-oriented multi-methods in cecil. In ECOOP'92 Conference Proceedings, 1992.

    Google Scholar 

  3. Craig Chambers. Predicate classes. In ECOOP'93 Conference Proceedings, 1993.

    Google Scholar 

  4. Brad Cox. Object-Oriented Programming, An Evolutionary Approach. Addison-Wesley, 1987.

    Google Scholar 

  5. Jeffrey Dean, David Grove, and Craig Chambers. Optimzation of object-oriented programs using static class hierarchy analysis. In ECOOP'95 Conference Proceedings, 1995.

    Google Scholar 

  6. K. Driesen and U. Holzle. Minimizing row displacement dispatch tables. In OOPSLA'95 Conference Proceedings, 1995.

    Google Scholar 

  7. K. Driesen, U. Holzle, and J. Vitek. Message dispatch on pipelined processors. In ECOOP'95 Conference Proceedings, 1995.

    Google Scholar 

  8. R. Dixon, T. McKee, P. Schweizer, and M. Vaughan. A fast method dispatcher for compiled languages with multiple inheritance. In OOPSLA'89 Conference Proceedings, 1989.

    Google Scholar 

  9. Karel Driesen. Method lookup strategies in dynamically typed object-oriented programming languages. Master's thesis, Vrije Universiteit Brussel, 1993.

    Google Scholar 

  10. L. Peter Deutsch and Alan Schiffman. Efficient implementation of the smalltalk-80 system. In Principles of Programming Languages, Salt Lake City, UT, 1994.

    Google Scholar 

  11. M.A. Ellis and B. Stroustrup. The Annotated C++ Reference Manual. Addison-Wesley, 1990.

    Google Scholar 

  12. Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, 1995.

    Google Scholar 

  13. A. Goldberge and David Robson. Smalltalk-80: The Language and its Implementation. Addison-Wesley, 1983.

    Google Scholar 

  14. Urs Holzle, Craig Chambers, and David Ungar. Optimizing dynamically-typed object oriented languages with polymorphic inline caches. In ECOOP'91 Conference Proceedings, 1991.

    Google Scholar 

  15. Wade Holst and Duane Szafron. Inheritance management and method dispatch in reflexive object-oriented languages. Technical Report TR-96-27, University of Alberta, Edmonton, Canada, 1996.

    Google Scholar 

  16. Glenn Krasner. Smalltalk-80: Bits of History, Words of Advice. Addison-Wesley, Reading, MA, 1983.

    Google Scholar 

  17. M.T. Ozsu, R.J. Peters, D. Szafron, B. Irani, A. Lipka, and A. Munoz. Tigukat: A uniform behavioral objectbase management system. In The VLDB Journal, pages 100–147, 1995.

    Google Scholar 

  18. Jan Vitek and R. Nigel Horspool. Taming message passing: Efficient method lookup for dynamically typed languages. In ECOOP'94 Conference Proceedings, 1994.

    Google Scholar 

  19. Jan Vitek and R. Nigel Horspool. Compact dispatch tables for dynamically typed programming languages. In Proceedings of the Intl. Conference on Compiler Construction, 1996.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Mehmet Akşit Satoshi Matsuoka

Rights and permissions

Reprints and permissions

Copyright information

© 1997 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Holst, W., Szafron, D. (1997). A general framework for inheritance management and method dispatch in object-oriented languages. In: Akşit, M., Matsuoka, S. (eds) ECOOP'97 — Object-Oriented Programming. ECOOP 1997. Lecture Notes in Computer Science, vol 1241. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0053383

Download citation

  • DOI: https://doi.org/10.1007/BFb0053383

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-63089-0

  • Online ISBN: 978-3-540-69127-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics