© University of Kent - Contact | Feedback | Legal | FOI | Cookies
Cyclic reference counting with lazy mark-scan
Rafael D Lins
Technical Report 26-92*, University of Kent, Computing Laboratory, University of Kent, Canterbury, UK, August 1992.Abstract
We present an algorithm that removes the drawback of running mark-scan every time a pointer to a cell with multiple references is deleted in the cyclic reference counting with local mark-scan algorithm. This new algorithm places a reference to these cells onto a queue. The deletion of the last pointer to a shared cell will recycle it immediately, regardless of whether there is a reference to it on the queue. This means that more shared cells will now be claimed directly without the need of the mark-scan phase. Only if the free-list is empty or the queue is full is the local mark-scan required. Our performance figures show that lazy mark-scan is far more efficient than local mark-scan.
(to appear in Information Processing Letters)
Download publication
36 kbytes
Bibtex Record
@techreport{120,
author = {Rafael D Lins},
title = {Cyclic Reference Counting with Lazy Mark-Scan},
month = {August},
year = {1992},
pages = {182-196},
keywords = {determinacy analysis, Craig interpolants},
note = {},
doi = {},
url = {http://www.cs.kent.ac.uk/pubs/1992/120},
address = {University of Kent, Canterbury, UK},
hensa_abstractfilename = {pub/misc/ukc.reports/comp.sci/abstracts/26-92},
hensa_ftpaddress = {unix.hensa.ac.uk},
hensa_reportfilename = {pub/misc/ukc.reports/comp.sci/reports/26-92.ps.Z},
institution = {University of Kent, Computing Laboratory},
number = {26-92*},
}