ACM Home Page
Please provide us with feedback. Feedback
Efficient dynamic dispatch without virtual function tables: the SmallEiffel compiler
Full text PdfPdf (2.10 MB)
Source Conference on Object Oriented Programming Systems Languages and Applications archive
Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications table of contents
Atlanta, Georgia, United States
Pages: 125 - 141  
Year of Publication: 1997
ISBN:0-89791-908-4
Also published in ...
Authors
Olivier Zendra  Centre de Recherche en Informatique de Nancy, Campus Scientifique, Bâtiment LORIA, 54506 Vandoeuvre-lès-Nancy BP 239 Cedex, France
Dominique Colnet  Centre de Recherche en Informatique de Nancy, Campus Scientifique, Bâtiment LORIA, 54506 Vandoeuvre-lès-Nancy BP 239 Cedex, France
Suzanne Collin  Centre de Recherche en Informatique de Nancy, Campus Scientifique, Bâtiment LORIA, 54506 Vandoeuvre-lès-Nancy BP 239 Cedex, France
Sponsor
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 6,   Downloads (12 Months): 31,   Citation Count: 14
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/263698.263728
What is a DOI?

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.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
Age95
 
Age96
AH95
 
AH96
 
APS93
 
AU77
Alfred V. Ah0 and Jeffrey D. Ullman. Principles o/Compiler Design. Addison-Wesley, eading~ Massachusetts, 1977. ~ '
BS96
 
CCZ97
CF91
CG94a
 
CG94b
CU89
DDG+96
 
DGC95
DH96
Dha91
 
DHV95
DMM96
DS84
EST95
GJ90
 
GR83
 
HCU91
 
HU95
 
JGS96
KRS94
 
Mey88
 
Mey94
 
Mil78
R. Milner. A Theory of Type Polymorphism in Programming. In Journal of Computer and System Sciences, pages 348-375, 1978.
 
MNC+91
G. Masini, A. Napoli, D. Colnet, D. L6onard, and K. Tombre. Object Oriented Languages. Academic Press Limited, London, 1991.
PC94
PS91
 
PS92
Ros88
ST84
 
Str86
Suz81
 
UP87
US87
 
VHU92

CITED BY  14

Collaborative Colleagues:
Olivier Zendra: colleagues
Dominique Colnet: colleagues
Suzanne Collin: colleagues