Leaky regions: tying reclamation hints to statement blocks
I'll talk about a new mechanism for automatic storage reclamation based on exploiting information about the relationship between object lifetimes and points in a program's execution. In our system the programmer annotates method calls to indicate that most of the objects allocated during the call are expected to be unreachable by the time it returns. A write barrier detects if objects escape from one of these calls, causing them to be retained and subsequently managed by an ordinary generational collector. I'll show that if these annotations are placed judiciously then the additional costs of the write barrier are often vastly outweighed by savings in collection time.