Optimizing dynamically-dispatched calls with run-time type feedback
- 1 June 1994
- journal article
- Published by Association for Computing Machinery (ACM) in ACM SIGPLAN Notices
- Vol. 29 (6), 326-336
- https://doi.org/10.1145/773473.178478
Abstract
Abstrach Object-oriented programs are difficult to optimize because they execute many dynamically-dispatched calls. These calls cannot easily be eliminated because the compiler does not know which callee will be invoked at runtime. We have developed a simple technique that feeds back type information from the runtime system to the compiler. With this type feedback, the compiler can inline any dynamically-dispatched call. Our compiler drastically reduces the calI frequency of a suite of large SELF applications (by a factor of 3.6) and improves performance by a factor of 1.7. We believe that type feedback could significantly reduce call frequencies and improve performance for most other objectoriented languages (statically-typed or not) as well as for languages with type-dependent operations such as generic arithmetic.Keywords
This publication has 20 references indexed in Scilit:
- Memory subsystem performance of programs using copying garbage collectionPublished by Association for Computing Machinery (ACM) ,1994
- Reducing indirect function call overhead in C++ programsPublished by Association for Computing Machinery (ACM) ,1994
- Animation: from cartoons to the user interfacePublished by Association for Computing Machinery (ACM) ,1993
- Selector table indexing & sparse arraysACM SIGPLAN Notices, 1993
- Profile‐guided automatic inline expansion for C programsSoftware: Practice and Experience, 1992
- An experiment with inline substitutionSoftware: Practice and Experience, 1991
- Iterative type analysis and extended message splitting; optimizing dynamically-typed object-oriented programsACM SIGPLAN Notices, 1990
- An efficient implementation of SELF a dynamically-typed object-oriented language based on prototypesACM SIGPLAN Notices, 1989
- A study of a C function inlinerSoftware: Practice and Experience, 1988
- Efficient implementation of the smalltalk-80 systemPublished by Association for Computing Machinery (ACM) ,1984