< prev index next >
src/share/vm/gc/g1/concurrentG1RefineThread.cpp
Print this page
rev 10389 : imported patch webrev.01
rev 10391 : [mq]: webrev.03
*** 76,86 ****
}
void ConcurrentG1RefineThread::wait_for_completed_buffers() {
DirtyCardQueueSet& dcqs = JavaThread::dirty_card_queue_set();
MutexLockerEx x(_monitor, Mutex::_no_safepoint_check_flag);
! while (!_should_terminate && !is_active()) {
_monitor->wait(Mutex::_no_safepoint_check_flag);
}
}
bool ConcurrentG1RefineThread::is_active() {
--- 76,86 ----
}
void ConcurrentG1RefineThread::wait_for_completed_buffers() {
DirtyCardQueueSet& dcqs = JavaThread::dirty_card_queue_set();
MutexLockerEx x(_monitor, Mutex::_no_safepoint_check_flag);
! while (!should_terminate() && !is_active()) {
_monitor->wait(Mutex::_no_safepoint_check_flag);
}
}
bool ConcurrentG1RefineThread::is_active() {
*** 110,123 ****
}
void ConcurrentG1RefineThread::run_service() {
_vtime_start = os::elapsedVTime();
! while (!_should_terminate) {
// Wait for work
wait_for_completed_buffers();
! if (_should_terminate) {
break;
}
DirtyCardQueueSet& dcqs = JavaThread::dirty_card_queue_set();
log_debug(gc, refine)("Activated %d, on threshold: " SIZE_FORMAT ", current: " SIZE_FORMAT,
--- 110,123 ----
}
void ConcurrentG1RefineThread::run_service() {
_vtime_start = os::elapsedVTime();
! while (!should_terminate()) {
// Wait for work
wait_for_completed_buffers();
! if (should_terminate()) {
break;
}
DirtyCardQueueSet& dcqs = JavaThread::dirty_card_queue_set();
log_debug(gc, refine)("Activated %d, on threshold: " SIZE_FORMAT ", current: " SIZE_FORMAT,
< prev index next >