Skip to Main content Skip to Navigation
Journal articles

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.
Document type :
Journal articles
Complete list of metadata
Contributor : Roland Ducournau <>
Submitted on : Friday, January 13, 2012 - 10:51:20 AM
Last modification on : Thursday, May 24, 2018 - 3:59:22 PM

Links full text




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⟩



Record views