Efficient Polymorphic Calls
The Springer International Series in Engineering and Computer Science
Elsewhere $405 $297 Save $108.00 (27%)
Free shipping Australia wide
Order Now for Christmas with e-Gift
|Format: ||Hardback, 240 pages, Reprinted from Edition|
|Other Information: ||1|
|Published In: ||Netherlands, 01 February 2001|
To achieve superior performance, language implementers and computer architects must pay increasingly close attention to polymorphic function calls. Such calls are at the heart of all object-oriented languages, including C++, Smalltalk, and Java. The implementation of object-oriented languages has been an active topic of research since the 1960s when the first Simula compiler was written, and there has been renewed interest in the topic in the early 1980s with the growing popularity of many object-oriented programming languages.Both software and hardware have changed considerably in the interim, to the point where many assumptions based on older studies are no longer valid. Furthermore, today's processors are deeply pipelined and can execute instructions out-of-order, making it difficult to predict the execution time of even simple code sequences. Given the long history of research into the implementation of polymorphic calls and the relatively mature standing it has achieved, "Efficient Polymorphic Calls" aims to present an up-to-date authoritative guide to the field." Efficient Polymorphic Calls" is a key resource for practitioners building an object-oriented system, who look for fast polymorphic call resolution under particular hardware constraints, graduate students interested in the development of object-oriented systems, and anyone with an interest in programming language implementation at the software or hardware level.
Table of Contents
Foreword. Preface. Acknowledgments. 1. Introduction. 2. Polymorphic calls. 3. Software techniques for efficient polymorphic calls. 4. Row displacement compression of message dispatch tables. 5. Analysis of dispatch sequences on modern processor architectures. 6. Measurement of virtual function call overhead on modern processors. 7. Hardware techniques. 8. Basic indirect branch predictors. 9. Hybrid indirect branch predictors. 10. Related work. 11. Conclusions. 12. Glossary. 13. References. Appendices. Index.
Springer Book Archives
Kluwer Academic Publishers|
23.39 x 15.6 x 1.42 centimetres (0.52 kg)|
15+ years |