| | |
Summary: Better Static Memory Management: Improving RegionBased Analysis
of HigherOrder Languages
(Extended Abstract)
Alexander Aiken \Lambda Manuel F ahndrich Raph Levien y
Computer Science Division
University of California, Berkeley z
Abstract
Static memory management replaces runtime garbage collec
tion with compiletime annotations that make all memory al
location and deallocation explicit in a program. We improve
upon the Tofte/Talpin regionbased scheme for compiletime
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 col
lection. 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 place
ment of allocation and deallocation annotations is determined
by solving a system of constraints that expresses all possible
|