R. Kent Dybvig, David Eby, and Carl Bruggeman, Guardians in a generation-based collector, ACM SIGPLAN 1993 Conference on Programming Language Design and Implementation, 207-216, June 1993 (bibtex).

This paper describes a new language feature that allows dynamically allocated objects to be saved from deallocation by an automatic storage management system so that clean-up or other actions can be performed using the data stored within the objects. The program has full control over the timing of clean-up actions, which eliminates several potential problems and often eliminates the need for critical sections in code that interacts with clean-up actions. Our implementation is "generation-friendly" in the sense that the additional overhead within a generation-based garbage collector is proportional to the work already done there, and the overhead within the mutator is proportional to the number of clean-up actions actually performed.