ITEC -  Operating Systems Group

Applying Source Code Transformation to Collapse Class Hierarchies in C++

  • Type:Studienarbeit
  • Date:12.2003
  • Supervisor:

    Dr. Uwe Dannowski

  • Graduand:Jan Oberländer
  • Links:PDF
  • Abstract:

    For many software projects, it is desirable to use the features of an object-oriented programming language. However, in building performance-critical systems such mechanisms impose too much run-time overhead. This study thesis describes an optimization technique that allows the use of C++ class hierarchies with virtual functions while producing efficient code. This is achieved by transforming the source code to collapse any specified class hierarchy into one flat class. Semantic equivalence is maintained as far as necessary, in a limited environment. The technique is implemented in a source-to-source transformation tool which this paper discusses in detail. Some evaluation shows that the tool produces optimized code which is more efficient, without producing significant compile-time overhead.

    BibTex:

    @studythesis{oberlaender03codetrans,
      author = {Jan Oberl\"ander},
      title = {Applying Source Code Transformation to Collapse Class Hierarchies in C++},
      type = {Study Thesis},
      address = {System Architecture Group, University of Karlsruhe, Germany},
      month = dec # "~23",
      year = 2003,
      url = {http://i30www.ira.uka.de/teaching/theses/pasttheses/}
    }