towards a full multiple-inheritance virtual machine
Late binding and subtyping create run-time overhead for object-oriented languages, especially in the context of both multiple inheritance and dynamic loading , for instance for Java interfaces. It is, however, generally agreed that the efficiency of Java and .Net systems comes from the fact that, in these languages, classes are in single inheritance. In this paper, we present the abstract architecture of a virtual machine for unrestricted multiple-inheritance, which should provide the same runtime efficiency as Java and .Net.
virtual machine late binding multiple inheritance dynamic loading method tables subtype test open-world assumption adaptive compiler closed-world assumption perfect hashing