Technion institute of technology, Israel

On May 7, 2013, at 3:29 PM, Rifat Shahriyar <> wrote:

Have a look at the last few lines of run() method in ControllerCollectorContext.

Australian National University

On 7/05/13 10:17 PM, Nachshon Cohen O wrote:

I'm trying to understand the Concurrent Mark Sweep (ConcMS) collector.
In this collector, the mutators are stopped for stack-scanning at the beginning of the concurrent gc, and should be resumed before the heap is actually traversed (marking phase).
However, I'm not sure where (and how) the mutators are actually resumed.

Looking at the Phases of the algorithm, I'm not sure where step 3 happen.
1. stop the mutators (Phase:prepare-stacks, handled by VM.collection.prepareMutator)
2. scan stacks       (Phase:stacks, handled by VM.scanning.computeThreadsRoots)
3. resume mutators  (at which phase this is done???)
4. Compute the transitive closure over the heap (Phase:concurrent-closure, handled by Plan.controlCollectorContext.requestConcurrentCollection).

Can you please point me at which phase the mutators are resumed, or which function handles it?

Nachshon Cohen
Department of computer science,
Technion institute of technology, Israel.

Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and 
their applications. This 200-page book is written by three acclaimed 
leaders in the field. The early access version is available now. 
Download your free book today!

Jikesrvm-researchers mailing list