UC BERKELEY
EECS technical reports
TECHNICAL REPORTS


CSD-00-1115.pdf
CSD-00-1115.ps
Oskicat catalog record
Conditions of Use

Archive Home Page

Language Support and Compilation Techniques for Regions

Authors:
Gay, David
Aiken, Alex
Technical Report Identifier: CSD-00-1115
November 2000
CSD-00-1115.pdf
CSD-00-1115.ps

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.