Cyclic reference counting with local mark-scan
Information Processing Letters
Cyclic reference counting with lazy mark-scan
Information Processing Letters
Generational cyclic reference counting
Information Processing Letters
Garbage collection: algorithms for automatic dynamic memory management
Garbage collection: algorithms for automatic dynamic memory management
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
An efficient, incremental, automatic garbage collector
Communications of the ACM
Recursive functions of symbolic expressions and their computation by machine, Part I
Communications of the ACM
A method for overlapping and erasure of lists
Communications of the ACM
Letters to the editor: on the reference counter method
Communications of the ACM
Java without the coffee breaks: a nonintrusive multiprocessor garbage collector
Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation
An efficient algorithm for cyclic reference counting
Information Processing Letters
On-the-fly Global Garbage Collection Based on Partly Mark-Sweep
IWMM '95 Proceedings of the International Workshop on Memory Management
Concurrent Cycle Collection in Reference Counted Systems
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
Cyclic Weighted Reference Counting without Delay
PARLE '93 Proceedings of the 5th International PARLE Conference on Parallel Architectures and Languages Europe
Oil and Water? High Performance Garbage Collection in Java with MMTk
Proceedings of the 26th International Conference on Software Engineering
An efficient on-the-fly cycle collection
ACM Transactions on Programming Languages and Systems (TOPLAS)
A simple and efficient algorithm for cycle collection
ACM SIGPLAN Notices
A lightweight cyclic reference counting algorithm
GPC'06 Proceedings of the First international conference on Advances in Grid and Pervasive Computing
Hi-index | 0.89 |
Reference counting is known to have problems working with cyclic structures. In this paper, we present an efficient approach to cyclic reference counting, consisting of two key components. The first is a coarse-grained cycle collection algorithm that essentially performs a coarser (lightweight) analysis of the computation graph and thus greatly reduces the tracing cost (in comparison with the algorithms based on trial deletion to detect cycles). Our new cycle collector relies on this algorithm to obtain efficiency. Second, a predefined backup algorithm is incorporated to eliminate a theoretical problem that appears in the coarse-grained algorithm, thereby making the collector more practical. In this regard, we develop a heuristic based on the runtime behavior of the cycle collection to help the collector determine when to trigger the backup one. We have implemented and evaluated the proposed cycle collector on the Jikes RVM, where the SPECjvm98 benchmarks were applied. The results demonstrate that the novel approach is efficient and practical, compared to a modern cycle collector based on trial deletion.