Towards a Full Multiple-Inheritance Virtual Machine

Abstract : Late binding and subtyping create runtime overhead for object-oriented languages, especially in the context of both multiple inheritance and dynamic loading. Recent experiments show that this overhead is marked with static, non-adaptive compilers, which work under the \emph{open-world assumption}. Therefore, dynamic, ie adaptive, compilation might present a solution to this efficiency issue. This paper presents the abstract architecture of a virtual machine and a dynamic compiler for unrestricted multiple-inheritance. This architecture involves an object representation that allows for shortcuts in the default implementations, coupled with compilation/recompilation protocols that maintain the most efficient implementations compatible with the current state of the program. The object representation proposed is based on perfect class hashing, which shortcuts to static calls or the single-subtyping implementation. Moreover, this article proposes a new methodology, based on random simulation, for evaluating the runtime efficiency and recompilation cost of the proposed protocols. The resulting experiments show that the architecture proposed should provide the same runtime efficiency as Java and .NET, thus offsetting most of the multiple-inheritance overhead.
Type de document :
Article dans une revue
The Journal of Object Technology, Chair of Software Engineering, 2012, 11, pp.29. 〈10.5381/jot.2012.11.3.a6〉
Liste complète des métadonnées
Contributeur : Roland Ducournau <>
Soumis le : vendredi 13 janvier 2012 - 10:51:20
Dernière modification le : jeudi 24 mai 2018 - 15:59:22

Lien texte intégral




Roland Ducournau, Floréal Morandat. Towards a Full Multiple-Inheritance Virtual Machine. The Journal of Object Technology, Chair of Software Engineering, 2012, 11, pp.29. 〈10.5381/jot.2012.11.3.a6〉. 〈lirmm-00659592〉



Consultations de la notice