Distributed high-level module binding for flexible encapsulation and fast inter-modular optimization | SpringerLink
Skip to main content

Distributed high-level module binding for flexible encapsulation and fast inter-modular optimization

  • Session Papers
  • Conference paper
  • First Online:
Programming Languages and System Architectures

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

  • 178 Accesses

Abstract

We present a new modular object-oriented language with orthogonal encapsulation facilities. The language provides full support for encapsulation and separate compilation which makes it difficult to compile using standard techniques. We present new distributed translating techniques which overcome these difficulties by allowing inter-modular information to be exchanged at link-time. The same techniques may also be used with other modular and object-oriented languages to facilitate fast inter-modular optimizations such as inline expansion.

This work was carried out while the author was at the Department of Computer Science, Lund University, Sweden.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. Accredited Standards Committee X3, Information Processing Systems, The American National Standards Institute (ANSI), CBEMA, 311 First St. NW, Suite 500, Washington, DC 20001. Draft Proposed American National Standard for Information Systems-Programming Language C++, x3j16/91-0115 edition, September 1991.

    Google Scholar 

  2. Erik H. Baalbergen. Design and implementation of parallel make. Computing Systems, 1:135–158, 1988.

    Google Scholar 

  3. Andrew D. Birrell and Bruce Jay Nelson. Implementing remote procedure calls. ACM Transactions on Computer Systems, 2(1):39–59, February 1984.

    Google Scholar 

  4. David Callahan, Keith D. Cooper, Ken Kennedy, and Linda Torczon. Interprocedural constant propagation. In Proceedings of the SIGPLAN '86 Symposium On Compiler Construction. ACM, June 1986.

    Google Scholar 

  5. A. Celentano, P. Delia Vigna, C. Ghezzi, and D. Mandrioli. Separate compilation and partial specification in Pascal. IEEE Transactions on Software Engineering, 6:320–328, July 1980.

    Google Scholar 

  6. Christian S. Collberg. Flexible Encapsulation. PhD thesis, Lund University, December 1992.

    Google Scholar 

  7. R. S. Engelmore and A. J. Morgan. Blackboard Systems, chapter 30. Addison-Wesley, 1988. ISBN 0-201-17431-6.

    Google Scholar 

  8. M. C. Er. A parallel computation approach to topological sorting. The Computer Journal, 26(4):293–295, 1983.

    Google Scholar 

  9. Michael B. Feldman. Data Structures with Modula-2. Prentice-Hall, 1988. ISBN 0-13-197666-4.

    Google Scholar 

  10. Charles M. Geschke, James H. Morris Jr., and Edwin H. Satterthwaite. Early experience with Mesa. CACM, 20(8):540–553, August 1977.

    Google Scholar 

  11. Mark Himelstein, Fred C. Chow, and Kevin Enderby. Cross-module optimizations: Its implementation and benefits. In Proceedings of the Summer 1987 USENIX Conference, pages 347–356, June 1987.

    Google Scholar 

  12. Simon L. Peyton Jones. Parallel Graph Reduction, chapter 24. Prentice-Hall, 1987. ISBN 0-13-453325-9.

    Google Scholar 

  13. Michael D. Junkin and David B. Wortman. The implementation of a concurrent compiler. Technical Report CSRI-235, Computer Systems Research Institute. University of Toronto, December 1990.

    Google Scholar 

  14. Howard P. Katseff. Using data partitioning to implement a parallel assembler. SIGPLAN Notices, 23(9):66–76, September 1988. ACM/SIGPLAN Parallel Programming: Experience with Applications, Languages, and Systems.

    Google Scholar 

  15. S. Khanna and A. Ghafoor. A data partitioning technique for parallel compilation. In Proceedings of the Workshop on Parallel Compilation, Kingston, Ontario, Canada, May 1990.

    Google Scholar 

  16. Eduard F. Klein. Attribute evaluation in parallel. In Proceedings of the Workshop on Parallel Compilation, Kingston, Ontario, Canada, May 1990.

    Google Scholar 

  17. Greg Nelson. Systems Programming with Modula-3. Prentice Hall, 1991. ISBN 0-13-590464-1.

    Google Scholar 

  18. Jukka Paakki, Anssi Karhinen, and Tomi Silander. Orthogonal type extensions and reductions. SIGPLAN Notices, 25(7):28–38, July 1990.

    Google Scholar 

  19. Russel W. Quong. The Design and Implementation of an Incremental Linker. PhD thesis, Stanford University, May 1989.

    Google Scholar 

  20. Stephen Richardson and Mahadevan Ganapathi. Code optimization across procedures. Computer, pages 42–49, February 1989.

    Google Scholar 

  21. M. W. Rogers, editor. Ada: Language, Compilers and Bibliography. Cambridge, 1984. ISBN 0-521-26464-2.

    Google Scholar 

  22. David W. Wall. Experience with a software-defined machine architecture. ACM Transactions on Programming Languages and Systems, 14(3):299–338, July 1992.

    Google Scholar 

  23. Niklaus Wirth. Programming in Modula-2. Springer Verlag, second edition, 1983.

    Google Scholar 

  24. Niklaus Wirth. Type extensions. ACM Transactions on Programming Languages and Systems, 10(2):204–214, April 1988.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Jürg Gutknecht

Rights and permissions

Reprints and permissions

Copyright information

© 1994 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Collberg, C.S. (1994). Distributed high-level module binding for flexible encapsulation and fast inter-modular optimization. In: Gutknecht, J. (eds) Programming Languages and System Architectures. Lecture Notes in Computer Science, vol 782. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-57840-4_37

Download citation

  • DOI: https://doi.org/10.1007/3-540-57840-4_37

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-57840-6

  • Online ISBN: 978-3-540-48356-4

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics