Abstract
This report identifies issues which arise when extending the C
language to cooperate with a garbage collector managing a garbage
collected heap. Adding a garbage collected heap to C is intended to
increase programmer productivity by reducing the complexity of
applications which use dynamically allocated memory. A mechanism
is known for garbage collection in C applications which do not cooperate
with the collector, but this mechanism is relatively expensive.
This report proposes modifications to the C language which will allow
it to cooperate with a garbage collector. The proposal modifies the
syntax and semantics of C very little, and the extension degrades the
performance of only those expressions which manipulate references
to the garbage collected heap. The proposal was partially implemented
in a compiler for a C-like language whose target machine was a
FORTH-like virtual machine.
Notes
We are currently acquiring citations for the work deposited into this collection. We recognize the distribution rights of this item may have been assigned to another entity, other than the author(s) of the work.If you can provide the citation for this work or you think you own the distribution rights to this work please contact the Institutional Repository Administrator at digitize@ucalgary.ca