hotspot/src/share/vm/gc_implementation/g1/concurrentG1RefineThread.cpp
void ConcurrentG1RefineThread::wait_for_completed_buffers() {
{- -------------------------------------------
(1) (変数宣言など)
---------------------------------------- -}
DirtyCardQueueSet& dcqs = JavaThread::dirty_card_queue_set();
{- -------------------------------------------
(1) _should_terminate が true になるか, ConcurrentG1RefineThread::is_active() が true になるまで
ここで待機する.
(待機処理は, コンストラクタで渡された Monitor オブジェクト(_monitor) に対して Monitor::wait() することで行う)
---------------------------------------- -}
MutexLockerEx x(_monitor, Mutex::_no_safepoint_check_flag);
while (!_should_terminate && !is_active()) {
_monitor->wait(Mutex::_no_safepoint_check_flag);
}
}
This document is available under the GNU GENERAL PUBLIC LICENSE Version 2.