ComputingComputer ScienceComputer SystemsCompilersComputer ArchitectureProgramming LanguagesControl-flow AnalysisData-flow AnalysisMemory HierarchyMemory ManagementType CheckingType SystemsReference CountingReference Counting ErrorsRegion-based Memory Management
Region-based memory management systems structure memory by grouping objects in regions under program control. Memory is reclaimed by deleting regions, freeing all objects stored therein. Our compiler for C with regions, RC, prevents unsafe region deletions by keeping a count of references to each region. Using type annotations that make the structure of a program's regions more explicit, we reduce the overhead of reference counting from a maximum of 27% to a maximum of 11% on a suite of realistic benchmarks. We generalise these annotations in a region type system whose main novelty is the use of existentially quantified abstract regions to represent pointers to objects whose region is partially or totally unknown. A distribution of RC is available at http://www.cs.berkeley.edu/~dgay/rc.tar.gz.
11
Region-Based Memory Management
Mads Tofte, Jean-Pierre Talpin · Information and Computation · 1997 · 617 citations
Enforcing high-level protocols in low-level software
Robert DeLine, Manuel Fähndrich · 2001 · 487 citations
Typed memory management in a calculus of capabilities
Karl Crary, David Walker, Greg Morrisett · 1999 · 251 citations
Memory management with explicit regions
David Gay, Alex Aiken · 1998 · 213 citations