A third generation Smalltalk-80 implementation
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
Incremental incrementally compacting garbage collection
SIGPLAN '87 Papers of the Symposium on Interpreters and interpretive techniques
Garbage collection in an uncooperative environment
Software—Practice & Experience
Tenuring policies for generation-based storage reclamation
OOPSLA '88 Conference proceedings on Object-oriented programming systems, languages and applications
Using key object opportunism to collect old objects
OOPSLA '91 Conference proceedings on Object-oriented programming systems, languages, and applications
Garbage collection: algorithms for automatic dynamic memory management
Garbage collection: algorithms for automatic dynamic memory management
Generational garbage collection and the radioactive decay model
Proceedings of the ACM SIGPLAN 1997 conference on Programming language design and implementation
Generational stack collection and profile-driven pretenuring
PLDI '98 Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation
Comparing mostly-copying and mark-sweep conservative collection
Proceedings of the 1st international symposium on Memory management
On bounding time and space for multiprocessor garbage collection
Proceedings of the ACM SIGPLAN 1999 conference on Programming language design and implementation
A real-time garbage collector based on the lifetimes of objects
Communications of the ACM
On-the-fly garbage collection: an exercise in cooperation
Communications of the ACM
A nonrecursive list compacting algorithm
Communications of the ACM
A LISP garbage-collector for virtual-memory computer systems
Communications of the ACM
Recursive functions of symbolic expressions and their computation by machine, Part I
Communications of the ACM
OOPSLA '01 Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
A real-time garbage collector with low overhead and consistent utilization
POPL '03 Proceedings of the 30th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Replication-Based Incremental Copying Collection
IWMM '92 Proceedings of the International Workshop on Memory Management
Proceedings of the 2003 ACM SIGPLAN conference on Language, compiler, and tool for embedded systems
Trading data space for reduced time and code space in real-time garbage collection on stock hardware
LFP '84 Proceedings of the 1984 ACM Symposium on LISP and functional programming
Generation Scavenging: A non-disruptive high performance storage reclamation algorithm
SDE 1 Proceedings of the first ACM SIGSOFT/SIGPLAN software engineering symposium on Practical software development environments
Mark-copy: fast copying GC with less space overhead
OOPSLA '03 Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications
Garbage-first garbage collection
Proceedings of the 4th international symposium on Memory management
The C# Programming Language
Portable, mostly-concurrent, mostly-copying garbage collection for multi-processors
Proceedings of the 5th international symposium on Memory management
Proceedings of the 2008 ACM SIGPLAN conference on Programming language design and implementation
Index-compact garbage collection
APLAS'10 Proceedings of the 8th Asian conference on Programming languages and systems
An efficient non-moving garbage collector for functional languages
Proceedings of the 16th ACM SIGPLAN international conference on Functional programming
Offline GC: trashing reachable objects on tiny devices
Proceedings of the 9th ACM Conference on Embedded Networked Sensor Systems
Rethinking Java call stack design for tiny embedded devices
Proceedings of the 13th ACM SIGPLAN/SIGBED International Conference on Languages, Compilers, Tools and Theory for Embedded Systems
Cache-Conscious Wavefront Scheduling
MICRO-45 Proceedings of the 2012 45th Annual IEEE/ACM International Symposium on Microarchitecture
Divergence-aware warp scheduling
Proceedings of the 46th Annual IEEE/ACM International Symposium on Microarchitecture
Hi-index | 0.00 |
We introduce an extension of mostly copying collection that uses page residency to determine when to relocate objects. Our collector promotes pages with high residency in place, avoiding unnecessary work and wasted space. It predicts the residency of each page, but when its predictions prove to be inaccurate, our collector reclaims unoccupied space by using it to satisfy allocation requests.Using residency allows our collector to dynamically balance the tradeoffs of copying and non-copying collection. Our technique requires less space than a pure copying collector and supports object pinning without otherwise sacrificing the ability to relocate objects.Unlike other hybrids, our collector does not depend on application-specific configuration and can quickly respond to changing application behavior. Our measurements show that our hybrid performs well under a variety of conditions; it prefers copying collection when there is ample heap space but falls back on non-copying collection when space becomes limited.