< prev index next >

src/share/vm/gc_implementation/g1/concurrentMarkThread.cpp

Print this page
rev 8331 : 8079579: Add SuspendibleThreadSetLeaver and make SuspendibleThreadSet::joint()/leave() private
Reviewed-by:

*** 190,200 **** VM_CGC_Operation op(&cl_cl, "GC cleanup", false /* needs_pll */); VMThread::execute(&op); } else { // We don't want to update the marking status if a GC pause // is already underway. ! SuspendibleThreadSetJoiner sts; g1h->set_marking_complete(); } // Check if cleanup set the free_regions_coming flag. If it // hasn't, we can just skip the next step. --- 190,200 ---- VM_CGC_Operation op(&cl_cl, "GC cleanup", false /* needs_pll */); VMThread::execute(&op); } else { // We don't want to update the marking status if a GC pause // is already underway. ! SuspendibleThreadSetJoiner sts_join; g1h->set_marking_complete(); } // Check if cleanup set the free_regions_coming flag. If it // hasn't, we can just skip the next step.
*** 260,270 **** // true to prevent us from calling // record_concurrent_mark_cleanup_completed() (and, in fact, it's // not needed any more as the concurrent mark state has been // already reset). { ! SuspendibleThreadSetJoiner sts; if (!cm()->has_aborted()) { g1_policy->record_concurrent_mark_cleanup_completed(); } } --- 260,270 ---- // true to prevent us from calling // record_concurrent_mark_cleanup_completed() (and, in fact, it's // not needed any more as the concurrent mark state has been // already reset). { ! SuspendibleThreadSetJoiner sts_join; if (!cm()->has_aborted()) { g1_policy->record_concurrent_mark_cleanup_completed(); } }
*** 289,299 **** // Update the number of full collections that have been // completed. This will also notify the FullGCCount_lock in case a // Java thread is waiting for a full GC to happen (e.g., it // called System.gc() with +ExplicitGCInvokesConcurrent). { ! SuspendibleThreadSetJoiner sts; g1h->increment_old_marking_cycles_completed(true /* concurrent */); g1h->register_concurrent_cycle_end(); } } assert(_should_terminate, "just checking"); --- 289,299 ---- // Update the number of full collections that have been // completed. This will also notify the FullGCCount_lock in case a // Java thread is waiting for a full GC to happen (e.g., it // called System.gc() with +ExplicitGCInvokesConcurrent). { ! SuspendibleThreadSetJoiner sts_join; g1h->increment_old_marking_cycles_completed(true /* concurrent */); g1h->register_concurrent_cycle_end(); } } assert(_should_terminate, "just checking");
< prev index next >