Abstract
Run-time code generation (RTCG) enables program optimizations specific to values that are unknown until run time and improves the performance. This paper shows that object-oriented languages allow RTCG from a simple analysis of source programs. It also proposes an automatic, safe, and efficient RTCG system implemented as a preprocessor of a C++ compiler. It can inline virtual member functions combined with other optimizations. Increases in speed have ranged from 1.2 to 2.3 times.
This is a preview of subscription content, log in via an institution.
Preview
Unable to display preview. Download preview PDF.
References
Dawson R. Engler, Wilson C. Hsieh, and M. Frans Kaashoek. `C: A language For High-Level, Efficient, and Machine-independent Dynamic Code Generation. In Conference Record of POPL '96, pp. 258–270, January 1996.
Joel Auslander, Matthai Philipose, Crig Chambers, Susan J. Eggers, and Brian N. Bershad. Fast, Effective Dynamic Compilation. In Proceedings of the SIGPLAN '96 Conference on PLDI, pp. 149–159, May 1996.
Charles Consel, Luke Hornof, Frangois Nöel and Nicolae Volanshi. A Uniform Approach for Compile-time and Run-time Specialization. Technical Report No. 2775, INRIA, January 1996.
Mark Leone and Peter Lee. A Declarative Approach to Run-Time Code Generation. In Workshop Record of WCSSS'96, pp. 8–17, February 1996.
Nobuhisa Fujinami Run-Time Optimization in Object-Oriented Languages. In Proceedings of 12th Conference of JSSST, September 1995. In Japanese. Received Takahashi Award.
Nobuhisa Fujinami. Automatic and Efficient Run-Time Code Generation Using Object-Oriented Languages. Submitted to Computer Software, JSSST, 1996. In Japanese.
Gerald Aigner and Urs Hölzle Eliminating Virtual Function Calls in C++ Programs. In Proceedings of ECOOP'96, June 1996.
Lars Ole Andersen. Program Analysis and Specialization for the C Programming Language. PhD thesis, DIKU, University of Copenhagen, May 1994.
Calton Pu, Henry Massalin, and John Ioannidis. The Synthesis kernel. Computing Systems, Vol. 1, No. 1, pp. 11–32 Winter 1988.
Henry Massalin. Synthesis: An Efficient Implementation of Fundamental Operating System Services. PhD thesis, Graduate School of Arts and Sciences, Columbia University, April 1992.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1997 Springer-Verlag
About this paper
Cite this paper
Fujinami, N. (1997). Automatic run-time code generation in C++. In: Ishikawa, Y., Oldehoeft, R.R., Reynders, J.V.W., Tholburn, M. (eds) Scientific Computing in Object-Oriented Parallel Environments. ISCOPE 1997. Lecture Notes in Computer Science, vol 1343. Springer, Berlin, Heidelberg . https://doi.org/10.1007/3-540-63827-X_38
Download citation
DOI: https://doi.org/10.1007/3-540-63827-X_38
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-63827-8
Online ISBN: 978-3-540-69656-8
eBook Packages: Springer Book Archive