標題: | HEAP GARBAGE COLLECTION WITH REFERENCE COUNTING |
作者: | Yang, Wuu Tseng, Huei-Ru Jan, Rong-Hong 資訊工程學系 Department of Computer Science |
關鍵字: | Closed cluster;Cyclic garbage;Depth-first search;Graph theory;Garbage collection;Reference count |
公開日期: | 2010 |
摘要: | In algorithms based on reference counting, a garbage-collection decision has to be made whenever a pointer x -> y is about to be destroyed. At this time, the node y may become dead even if y\'s reference count is not zero. This is because y may belong to a piece of cyclic garbage. Some aggressive collection algorithms will put y on the list of potential garbage regardless of y\'s reference count. Later a trace procedure starting from y will be initiated. Other algorithms, less aggressive, will put y on the list of potential garbage only if y\'s reference count falls below a threshold, such as 3. The former approach may waste time on tracing live nodes and the latter may leave cyclic garbage uncollected indefinitely. The problem with the above two approaches (and with reference counting in general) is that it is difficult to decide if y is dead when the pointer x -> y is destroyed. We propose a new garbage-collection algorithm in which each node maintains two, rather than one, reference counters, gcount and hcount. Gcount is the number of references from the global variables and from the run-time stack. Hcount is the number of references from the heap. Our algorithm will put node y on the list of potential garbage if and only if y\'s gcount becomes 0. The better prediction made by our algorithm results in more efficient garbage collectors. |
URI: | http://hdl.handle.net/11536/135570 |
ISBN: | 978-989-8425-23-2 |
期刊: | ICSOFT 2010: PROCEEDINGS OF THE FIFTH INTERNATIONAL CONFERENCE ON SOFTWARE AND DATA TECHNOLOGIES, VOL 2 |
起始頁: | 267 |
結束頁: | 270 |
顯示於類別: | 會議論文 |