Electrical Engineering
      and Computer Sciences

Electrical Engineering and Computer Sciences

COLLEGE OF ENGINEERING

UC Berkeley

Language Support and Compilation Techniques for Regions

David E. Gay and Alex Aiken

EECS Department
University of California, Berkeley
Technical Report No. UCB/CSD-00-1115
November 2000

http://www.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},
    Institution = {EECS Department, University of California, Berkeley},
    Year = {2000},
    Month = {Nov},
    URL = {http://www.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://www.eecs.berkeley.edu/Pubs/TechRpts/2000/5340.html
%F Gay:CSD-00-1115