Skip to main content

Automatic run-time code generation in C++

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1343))

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.

Unable to display preview. Download preview PDF.

References

  1. 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.

    Google Scholar 

  2. 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.

    Google Scholar 

  3. 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.

    Google Scholar 

  4. Mark Leone and Peter Lee. A Declarative Approach to Run-Time Code Generation. In Workshop Record of WCSSS'96, pp. 8–17, February 1996.

    Google Scholar 

  5. Nobuhisa Fujinami Run-Time Optimization in Object-Oriented Languages. In Proceedings of 12th Conference of JSSST, September 1995. In Japanese. Received Takahashi Award.

    Google Scholar 

  6. Nobuhisa Fujinami. Automatic and Efficient Run-Time Code Generation Using Object-Oriented Languages. Submitted to Computer Software, JSSST, 1996. In Japanese.

    Google Scholar 

  7. Gerald Aigner and Urs Hölzle Eliminating Virtual Function Calls in C++ Programs. In Proceedings of ECOOP'96, June 1996.

    Google Scholar 

  8. Lars Ole Andersen. Program Analysis and Specialization for the C Programming Language. PhD thesis, DIKU, University of Copenhagen, May 1994.

    Google Scholar 

  9. Calton Pu, Henry Massalin, and John Ioannidis. The Synthesis kernel. Computing Systems, Vol. 1, No. 1, pp. 11–32 Winter 1988.

    Google Scholar 

  10. Henry Massalin. Synthesis: An Efficient Implementation of Fundamental Operating System Services. PhD thesis, Graduate School of Arts and Sciences, Columbia University, April 1992.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Yutaka Ishikawa Rodney R. Oldehoeft John V. W. Reynders Marydell Tholburn

Rights and permissions

Reprints 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

Publish with us

Policies and ethics