< prev index next >

src/share/vm/gc/g1/g1YoungRemSetSamplingThread.cpp

Print this page
rev 10311 : [mq]: webrev.01

*** 55,79 **** Terminator_lock->wait(); } } } ! G1YoungRemSetSamplingThread::G1YoungRemSetSamplingThread() : ConcurrentGCThread() { ! _monitor = new Monitor(Mutex::nonleaf, "G1YoungRemSetSamplingThread monitor", true, ! Monitor::_safepoint_check_never); ! set_name("G1 Young RemSet Sampling"); create_and_start(); } void G1YoungRemSetSamplingThread::sleep_before_next_cycle() { ! MutexLockerEx x(_monitor, Mutex::_no_safepoint_check_flag); if (!_should_terminate) { intx waitms = G1ConcRefinementServiceIntervalMillis; // 300, really should be? ! _monitor->wait(Mutex::_no_safepoint_check_flag, waitms); } } void G1YoungRemSetSamplingThread::run_service() { double vtime_start = os::elapsedVTime(); --- 55,83 ---- Terminator_lock->wait(); } } } ! G1YoungRemSetSamplingThread::G1YoungRemSetSamplingThread() : ! ConcurrentGCThread(), ! _monitor(Mutex::nonleaf, "G1YoungRemSetSamplingThread monitor", true, ! Monitor::_safepoint_check_never) { set_name("G1 Young RemSet Sampling"); create_and_start(); } + G1YoungRemSetSamplingThread::~G1YoungRemSetSamplingThread() { + assert(!_monitor.is_locked(), "don't delete locked monitor"); + } + void G1YoungRemSetSamplingThread::sleep_before_next_cycle() { ! MutexLockerEx x(&_monitor, Mutex::_no_safepoint_check_flag); if (!_should_terminate) { intx waitms = G1ConcRefinementServiceIntervalMillis; // 300, really should be? ! _monitor.wait(Mutex::_no_safepoint_check_flag, waitms); } } void G1YoungRemSetSamplingThread::run_service() { double vtime_start = os::elapsedVTime();
*** 90,101 **** sleep_before_next_cycle(); } } void G1YoungRemSetSamplingThread::stop_service() { ! MutexLockerEx x(_monitor, Mutex::_no_safepoint_check_flag); ! _monitor->notify(); } void G1YoungRemSetSamplingThread::sample_young_list_rs_lengths() { SuspendibleThreadSetJoiner sts; G1CollectedHeap* g1h = G1CollectedHeap::heap(); --- 94,105 ---- sleep_before_next_cycle(); } } void G1YoungRemSetSamplingThread::stop_service() { ! MutexLockerEx x(&_monitor, Mutex::_no_safepoint_check_flag); ! _monitor.notify(); } void G1YoungRemSetSamplingThread::sample_young_list_rs_lengths() { SuspendibleThreadSetJoiner sts; G1CollectedHeap* g1h = G1CollectedHeap::heap();
< prev index next >