Skip to main content

Automatic Generation of Executable Data Structures

  • Conference paper
Computing in Object-Oriented Parallel Environments (ISCOPE 1999)

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

  • 202 Accesses

Abstract

The executable data structures method is a kind of run-time code generation. It reduces the traversal time of data structures by implementing the traversal operation as self-traversal code stored in each data structure. It is attractive but not easy to use. This paper shows that it can be viewed as run-time optimization of a group of objects and can automatically be generated from the source program in an object-oriented language. The encapsulation mechanism of object-oriented languages helps to analyze the program and to use the automatically generated code generators. Preliminary evaluation results show that the proposed method is better than conventional run-time code generation or manual source level optimization.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Pu, C., Massalin, H., Ioannidis, J.: The Synthesis kernel. Computing Systems 1(1), 11–32 (1988)

    Google Scholar 

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

    Google Scholar 

  3. Fujinami, N.: Automatic Run-Time Code Generation in C++. In: Ishikawa, Y., Reynders, J.V.W., Tholburn, M. (eds.) ISCOPE 1997. LNCS, vol. 1343, pp. 9–16. Springer, Heidelberg (1997); Also appeared as Technical Report SCSL-TR-97-006 of Sony Computer Science Laboratory Inc.

    Chapter  Google Scholar 

  4. Fujinami, N.: Determination of Dynamic Method Dispatches Using Runtime Code Generation. In: Leroy, X., Ohori, A. (eds.) TIC 1998. LNCS, vol. 1473, pp. 253–271. Springer, Heidelberg (1998); Also appeared as Technical Report SCSL-TR-98-007 of Sony Computer Science Laboratory Inc.

    Chapter  Google Scholar 

  5. Stroustrup, B. (ed.): The C++ Programming Language, 2nd edn. Addison Wesley, Reading (1991)

    Google Scholar 

  6. Engler, D.R., Hsieh, W.C., Frans Kaashoek, M.: C: A language For High-Level, Efficient, and Machine-independent Dynamic Code Generation. In: Conference Record of POPL 1996: The 23rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 258–270 (January 1996)

    Google Scholar 

  7. Poletto, M., Engler, D.R., Frans Kaashoek, M.: tcc: A System for Fast, Flexible, and High-level Dynamic Code Generation. In: Proceedings of the SIGPLAN 1997 Conference on Programming Language Design and Implementation, pp. 109–121 (June 1997)

    Google Scholar 

  8. Auslander, J., Philipose, M., Chambers, C., Eggers, S.J., Bershad, B.N.: Fast, Effiective Dynamic Compilation. In: Proceedings of the SIGPLAN 1996 Conference on Programming Language Design and Implementation, pp. 149–159 (May 1996)

    Google Scholar 

  9. Yarvin, C., Sah, A.: QuaC: Binary Optimization for Fast Runtime Code Generation in C. Technical Report UCB//CSD-94-792, University of California Berkeley, Department of Computer Science (1994)

    Google Scholar 

  10. Lee, P., Leone, M.: Optimizing ML with Run-Time Code Generation. In: Proceedings of the SIGPLAN 1996 Conference on Programming Language Design and Implementation, pp. 137–148 (May 1996)

    Google Scholar 

  11. Leone, M., Lee, P.: A Declarative Approach to Run-Time Code Generation. In: Workshop Record of WCSSS 1996: The Inaugural Workshop on Compiler Support for System Software, pp. 8–17 (February 1996)

    Google Scholar 

  12. Grant, B., Mock, M., Philipose, M., Chambers, G., Eggers, S.J.: Annotation-Directed Run-Time Specialization in C. In: Proceedings of Workshop on Partial Evaluation and Semantics-Based Program Manipulation, PEPM 1997 (June 1997)

    Google Scholar 

  13. Grant, B., Mock, M., Philipose, M., Chambers, G., Eggers, S.J.: DyC: An Expressive Annotation-Directed Dynamic Compiler for C. Technical Report 97-03-03, Department of Computer Science and Engineering, University of Washington (1997)

    Google Scholar 

  14. Consel, C., Nöel, F.: A General Approach for Run-Time Specialization and its Application to C. Technical Report No. 946, INRIA/IRISA (July 1995)

    Google Scholar 

  15. Consel, C., Hornof, L., Nöel, F., Volanshi, N.: A Uniform Approach for Compile-time and Run-time Specialization. Technical Report No. 2775, INRIA (January 1996)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1999 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Fujinami, N. (1999). Automatic Generation of Executable Data Structures. In: Matsuoka, S., Tholburn, M. (eds) Computing in Object-Oriented Parallel Environments. ISCOPE 1999. Lecture Notes in Computer Science, vol 1732. Springer, Berlin, Heidelberg. https://doi.org/10.1007/10704054_2

Download citation

  • DOI: https://doi.org/10.1007/10704054_2

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-66818-3

  • Online ISBN: 978-3-540-46697-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics