Share this page
Share this page E-mail this page Print this page RSS feeds
Home > Publications > Better Static Memory Management: Improving region-based analysis of higher-order languages
Better Static Memory Management: Improving region-based analysis of higher-order languages

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.

afl-pldi95.pdf
PDF file

In: Proceedings of the 1995 ACM SIGPLAN Conference on Programming Language Design and Implementation

Details

Type: Inproceedings
Pages: 174–185