2001
DOI: 10.1145/504311.504309
|View full text |Cite
|
Sign up to set email alerts
|

An on-the-fly reference counting garbage collector for Java

Abstract: Reference counting is not naturally suitable for running on multiprocessors. The update of pointers and reference counts requires atomic and synchronized operations. We present a novel reference counting algorithm suitable for a multiprocessor that does not require any synchronized operation in its write barrier (not even a compare-and-swap type of synchronization). The algorithm is efficient and may compete with any tracing algorithm.We have implemented our algorithm on SUN's Java Virtual Machine 1.2.2 and ra… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
46
0

Year Published

2002
2002
2013
2013

Publication Types

Select...
3
2
1

Relationship

1
5

Authors

Journals

citations
Cited by 25 publications
(46 citation statements)
references
References 35 publications
0
46
0
Order By: Relevance
“…Suppose SCC k is the first reachable SCC processed by CollectGarbage. At lines (3)(4)(5)(6)(7)(8)(9) of CollectGarbage, it is easy to see that for every 1 ≤ i < k, SCC i has been discovered to be garbage and collected; and for every k < j ≤ n, SCC j is ignored. Also, for every k < j ≤ n, SCC j must be reachable.…”
Section: Proofmentioning
confidence: 99%
See 1 more Smart Citation
“…Suppose SCC k is the first reachable SCC processed by CollectGarbage. At lines (3)(4)(5)(6)(7)(8)(9) of CollectGarbage, it is easy to see that for every 1 ≤ i < k, SCC i has been discovered to be garbage and collected; and for every k < j ≤ n, SCC j is ignored. Also, for every k < j ≤ n, SCC j must be reachable.…”
Section: Proofmentioning
confidence: 99%
“…Bacon et al [1,2] improved Lins' algorithm by analyzing the entire graph of all the candidates simultaneously; the number of traced objects is reduced. In [15], the sliding views technique [7] was incorporated into Bacon and Rajan's previous work [1], which further filters out unnecessary candidates.…”
Section: Introductionmentioning
confidence: 99%
“…Levanoni and Petrank [18] have taken another approach to attacking the excessive synchronization of most other garbage collectors. Their approach is designed to avoid synchronization as much as possible: they even eschew the use of CAS.…”
Section: Related Workmentioning
confidence: 99%
“…We leave the implementation of getLref to the implementor. For algorithm B, getLref (m) has to construct an atomic snapshot of m.Lref , just as in [7,13].…”
Section: Introductionmentioning
confidence: 99%
“…There are several recent studies on reference counting concurrent collectors, e.g., [4,13]. A disadvantage of reference counting collectors is that they do not collect all cycles.…”
Section: Introductionmentioning
confidence: 99%