skip to main content
10.1145/207110.207137acmconferencesArticle/Chapter ViewAbstractPublication PagespldiConference Proceedingsconference-collections
Article
Free Access

Better static memory management: improving region-based analysis of higher-order languages

Authors Info & Claims
Published:01 June 1995Publication History

ABSTRACT

Static memory management replaces runtime garbage collection with compile-time annotations that make all memory allocation and deallocation explicit in a program. We improve upon the Tofte/Talpin region-based scheme for compile-time memory management[TT94]. In the Tofte/Talpin approach, all values, including closures, are stored in regions. Region lifetimes coincide with lexical scope, thus forming a runtime stack of regions and eliminating the need for garbage collection. We relax the requirement that region lifetimes be lexical. Rather, regions are allocated late and deallocated as early as possible by explicit memory operations. The placement of allocation and deallocation annotations is determined by solving a system of constraints that expresses all possible annotations. Experiments show that our approach reduces memory requirements significantly, in some cases asymptotically.

References

  1. AFL95.Alexander Aiken, Manuel Fahndrich, and RaLph Levien. Better static memory management: Improvitng region-based analysis of higher-order languages. Technical Report CSD-95-866, UC Berkeley, April 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. App92.Andrew W. Appel. Compiling with Continuations. Cambridge University Press, 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Deu90.Alain Deutsch. On determining lifetime and aliasing of dynamically allocated data in higher-order functional specifications. In Proc. of the 17th Annual A CM Symposium on Principles of Programming Languages, pages 157-168, January 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. DLM+78.Edsger W. Dijkstra, Leslie Lamport, A.J. Martin, C.S. Scholten, and E.F.M. Steffens. On-the-fly garbage collection: An exercise in cooperation. Communications of the A CM, 21 (11):966-975, November 1978. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Hen92.Fritz Henglein. Global tagging optimization by type inference. In Proc. of the 1992 A CM Conference on Lisp and Functional Programming, pages 205-215, July 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. HJ90.Geoff W. Hamilton and Simon B. Jones. Compiletime garbage collection by necessity analysis. In Proc. of the / 990 Glasgow Workshop on Functional Programming, pages 66-70, August 1990.Google ScholarGoogle Scholar
  7. MTH90.Robin Milner, Mads Tofte, and Robert Harper. The Definition of Standard ML. MIT Press, 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. NO93.Scott Nettles and James O'Toole. Real-time replication garbage collection. In Proc. SIGPLAN '93 Conference on Programming Language Design and Implementation, pages 217-226, June 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. PS92.Jens Palsberg and Michael i. Schwartzbach. Safety analysis versus type inference. Information Processing Letters, 43(4): 175-180, September 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. RM88.Cristina Ruggieri and Thomas P. Murtagh. Lifetime analysis of dynamically allocated objects. In Proc. of the 15th Annual A CM Symposium on Principles of Programming Languages, pages 285-293, January 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Ses92.Peter Sestoft. Analysis and Efficient Implementation of Functional Programs. PhD dissertation, University of Copenhagen, Department of Computer Science, 1992.Google ScholarGoogle Scholar
  12. Shi88.Olin Shivers. Control flow analysis in Scheme. In Proc. SIGPLAN '88 Conference on Programming Language Design and Implementation, pages 164-174, June 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Tof94.Mads Tofte. Storage mode analysis. Personal communication, October 1994.Google ScholarGoogle Scholar
  14. TT93.Mads Tofte and Jean-Pierre Talpin. A theory of stack allocation in polymorphically typed languages. Technical Report 93/15, Department of Computer Science, University of Copenhagen, July 1993.Google ScholarGoogle Scholar
  15. TT94.Mads Tofte and Jean-Pierre Talpin. Implementation of the typed call-by-value X-calculus using a stack of regions. In Proc. of the 21st Annual A CM Symposium on Principles of Programming Languages, pages 188-201, January 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Better static memory management: improving region-based analysis of higher-order languages

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in
          • Published in

            cover image ACM Conferences
            PLDI '95: Proceedings of the ACM SIGPLAN 1995 conference on Programming language design and implementation
            June 1995
            335 pages
            ISBN:0897916972
            DOI:10.1145/207110

            Copyright © 1995 ACM

            Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 1 June 1995

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • Article

            Acceptance Rates

            PLDI '95 Paper Acceptance Rate28of105submissions,27%Overall Acceptance Rate406of2,067submissions,20%

            Upcoming Conference

            PLDI '24

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader