ABSTRACT

In the previous chapter we looked at the need for incremental or concurrent garbage collection, and identified the problems faced by all such collectors. In this chapter, we consider one family of these collectors: concurrent mark-sweep collectors. As we noted before, the most important issue facing concurrent collection is correctness. The mutator and collector must communicate with each other in order to ensure that they share a coherent view of the heap. This is necessary on the mutator’s part to prevent live objects from being hidden the collector. It is necessary for collectors that move objects to ensure that the mutator uses the correct addresses of moved objects.