Efficient Dynamic Dispatch without Virtual Function Tables. The SmallEiffel Compiler.

Olivier Zendra 1, * Dominique Colnet 1 Suzanne Collin 2
* Auteur correspondant
1 ECOO - Environment for cooperation
INRIA Lorraine, LORIA - Laboratoire Lorrain de Recherche en Informatique et ses Applications
Abstract : SmallEiffel is an Eiffel compiler which uses a fast simple type inference mechanism to remove most late binding calls, replacing them by static bindings. Starting from the system's entry point, it compiles only statically living code, which saves compiling and then removing dead code.As the whole system is analyzed at compile time, multiple inheritance and genericity do not cause any overhead. SmallEiffel features a coding scheme which eliminates the need for virtual function tables. Dynamic dispatch is implemented without any array access but uses a simple static binary branch code. We show that this implementation makes it possible to use modern hardware very efficiently. It also allows us to inline more calls even when dynamic dispatch is required. Some more dispatch sites are removed after the type inference algorithm has been performed, if the different branches of a dispatch site lead to the same code. The advantage of this approach is that it greatly speeds up execution time and considerably decreases the amount of generated code.
Type de document :
Communication dans un congrès
12th Annual ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages and Applications (OOPSLA'97), Oct 1997, Atlanta, United States. ACM Press, 32, pp.125--141, 1997, ACM SIGPLAN Notices
Liste complète des métadonnées

Littérature citée [32 références]  Voir  Masquer  Télécharger

https://hal.inria.fr/inria-00565627
Contributeur : Olivier Zendra <>
Soumis le : lundi 14 février 2011 - 15:45:50
Dernière modification le : jeudi 11 janvier 2018 - 06:25:24
Document(s) archivé(s) le : dimanche 15 mai 2011 - 02:39:54

Fichiers

oopsla97.pdf
Fichiers produits par l'(les) auteur(s)

Identifiants

  • HAL Id : inria-00565627, version 1

Collections

Citation

Olivier Zendra, Dominique Colnet, Suzanne Collin. Efficient Dynamic Dispatch without Virtual Function Tables. The SmallEiffel Compiler.. 12th Annual ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages and Applications (OOPSLA'97), Oct 1997, Atlanta, United States. ACM Press, 32, pp.125--141, 1997, ACM SIGPLAN Notices. 〈inria-00565627〉

Partager

Métriques

Consultations de la notice

436

Téléchargements de fichiers

482