Smalltalk-80: the language and its implementation
Smalltalk-80: the language and its implementation
A semantics of multiple inheritance.
Proc. of the international symposium on Semantics of data types
Procedures as persistent data objects
ACM Transactions on Programming Languages and Systems (TOPLAS)
The C++ programming language
The design and implementation of O2
Lecture notes in computer science on Advances in object-oriented database systems
Providing uniform access to heterogeneous information bases
Lecture notes in computer science on Advances in object-oriented database systems
Inheritance as an incremental modification mechanism or what like is and isn'tlike
on ECOOP '88 (European Conference on Object-Oriented Programming)
Object-oriented software construction (2nd ed.)
Object-oriented software construction (2nd ed.)
An object server for an object-oriented database system
OODS '86 Proceedings on the 1986 international workshop on Object-oriented database systems
The Persistent Abstract Machine
Proceedings of the Third International Workshop on Persistent Object Systems
Two-directional record layout for multiple inheritance
PLDI '90 Proceedings of the ACM SIGPLAN 1990 conference on Programming language design and implementation
An ad hoc approach to the implementation of polymorphism
ACM Transactions on Programming Languages and Systems (TOPLAS)
CLOStrophobia: its etiology and treatment
ACM SIGPLAN OOPS Messenger
A compilation method for ML-style polymorphic record calculi
POPL '92 Proceedings of the 19th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A polymorphic record calculus and its compilation
ACM Transactions on Programming Languages and Systems (TOPLAS)
Hi-index | 0.00 |
In this paper we are concerned with addressing techniques for statically typed languages with multiple inheritance. The addressing techniques are responsible for the efficient implementation of record field selection. In object-oriented languages, this record selection is equivalent to the access of methods. Thus, the efficiency of these techniques greatly affects the overall performance of an object-oriented language. We will demonstrate that addresses, in such systems, cannot always be calculated statically and show how symbol tables have been used as address maps at run time. The essence of the paper is a new addressing technique that can statically calculate either the address of a field or the address of the address of the field. This technique is powerful enough to support an efficient implementation of multiple inheritance with implicit subtyping as described by Cardelli.