< prev index next >

src/share/vm/gc/cms/concurrentMarkSweepGeneration.cpp

Print this page
rev 10392 : imported patch webrev.04

*** 1411,1421 **** { MutexLockerEx x(CGC_lock, Mutex::_no_safepoint_check_flag); if (_foregroundGCShouldWait) { // We are going to be waiting for action for the CMS thread; // it had better not be gone (for instance at shutdown)! ! assert(ConcurrentMarkSweepThread::cmst() != NULL, "CMS thread must be running"); // Wait here until the background collector gives us the go-ahead ConcurrentMarkSweepThread::clear_CMS_flag( ConcurrentMarkSweepThread::CMS_vm_has_token); // release token // Get a possibly blocked CMS thread going: --- 1411,1421 ---- { MutexLockerEx x(CGC_lock, Mutex::_no_safepoint_check_flag); if (_foregroundGCShouldWait) { // We are going to be waiting for action for the CMS thread; // it had better not be gone (for instance at shutdown)! ! assert(ConcurrentMarkSweepThread::cmst() != NULL && !ConcurrentMarkSweepThread::cmst()->has_terminated(), "CMS thread must be running"); // Wait here until the background collector gives us the go-ahead ConcurrentMarkSweepThread::clear_CMS_flag( ConcurrentMarkSweepThread::CMS_vm_has_token); // release token // Get a possibly blocked CMS thread going:
*** 3648,3658 **** // or after a certain maximum time. We want to make // this smarter in the next iteration. // XXX FIX ME!!! YSR size_t loops = 0, workdone = 0, cumworkdone = 0, waited = 0; while (!(should_abort_preclean() || ! ConcurrentMarkSweepThread::should_terminate())) { workdone = preclean_work(CMSPrecleanRefLists2, CMSPrecleanSurvivors2); cumworkdone += workdone; loops++; // Voluntarily terminate abortable preclean phase if we have // been at it for too long. --- 3648,3658 ---- // or after a certain maximum time. We want to make // this smarter in the next iteration. // XXX FIX ME!!! YSR size_t loops = 0, workdone = 0, cumworkdone = 0, waited = 0; while (!(should_abort_preclean() || ! ConcurrentMarkSweepThread::cmst()->should_terminate())) { workdone = preclean_work(CMSPrecleanRefLists2, CMSPrecleanSurvivors2); cumworkdone += workdone; loops++; // Voluntarily terminate abortable preclean phase if we have // been at it for too long.
< prev index next >