David E. Gay and Alex Aiken

EECS Department, University of California, Berkeley

Technical Report No. UCB/CSD-00-1115

, 2000

http://www2.eecs.berkeley.edu/Pubs/TechRpts/2000/CSD-00-1115.pdf

Region-based memory management systems structures 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. RC is compiled to C. Using type annotations that make the structure of a program's regions more explicit and a reference counting scheme that optimises reference count operations on local variables, we reduce the overhead of reference counting from a maximum of 27% to a maximum of 18% on our 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.


BibTeX citation:

@techreport{Gay:CSD-00-1115,
    Author= {Gay, David E. and Aiken, Alex},
    Title= {Language Support and Compilation Techniques for Regions},
    Year= {2000},
    Month= {Nov},
    Url= {http://www2.eecs.berkeley.edu/Pubs/TechRpts/2000/5340.html},
    Number= {UCB/CSD-00-1115},
    Abstract= {Region-based memory management systems structures 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. RC is compiled to C. Using type annotations that make the structure of a program's regions more explicit and a reference counting scheme that optimises reference count operations on local variables, we reduce the overhead of reference counting from a maximum of 27% to a maximum of 18% on our 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.},
}

EndNote citation:

%0 Report
%A Gay, David E. 
%A Aiken, Alex 
%T Language Support and Compilation Techniques for Regions
%I EECS Department, University of California, Berkeley
%D 2000
%@ UCB/CSD-00-1115
%U http://www2.eecs.berkeley.edu/Pubs/TechRpts/2000/5340.html
%F Gay:CSD-00-1115