< prev index next >

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

Print this page
rev 10389 : imported patch webrev.01
rev 10391 : [mq]: webrev.03

*** 30,65 **** #include "gc/g1/heapRegion.inline.hpp" #include "gc/g1/heapRegionRemSet.hpp" #include "gc/g1/suspendibleThreadSet.hpp" #include "runtime/mutexLocker.hpp" - void G1YoungRemSetSamplingThread::run() { - initialize_in_thread(); - wait_for_universe_init(); - - run_service(); - - terminate(); - } - - void G1YoungRemSetSamplingThread::stop() { - // it is ok to take late safepoints here, if needed - { - MutexLockerEx mu(Terminator_lock); - _should_terminate = true; - } - - stop_service(); - - { - MutexLockerEx mu(Terminator_lock); - while (!_has_terminated) { - Terminator_lock->wait(); - } - } - } - G1YoungRemSetSamplingThread::G1YoungRemSetSamplingThread() : ConcurrentGCThread(), _monitor(Mutex::nonleaf, "G1YoungRemSetSamplingThread monitor", true, --- 30,39 ----
*** 68,87 **** create_and_start(); } void G1YoungRemSetSamplingThread::sleep_before_next_cycle() { MutexLockerEx x(&_monitor, Mutex::_no_safepoint_check_flag); ! if (!_should_terminate) { uintx waitms = G1ConcRefinementServiceIntervalMillis; // 300, really should be? _monitor.wait(Mutex::_no_safepoint_check_flag, waitms); } } void G1YoungRemSetSamplingThread::run_service() { double vtime_start = os::elapsedVTime(); ! while (!_should_terminate) { sample_young_list_rs_lengths(); if (os::supports_vtime()) { _vtime_accum = (os::elapsedVTime() - vtime_start); } else { --- 42,61 ---- create_and_start(); } void G1YoungRemSetSamplingThread::sleep_before_next_cycle() { MutexLockerEx x(&_monitor, Mutex::_no_safepoint_check_flag); ! if (!should_terminate()) { uintx waitms = G1ConcRefinementServiceIntervalMillis; // 300, really should be? _monitor.wait(Mutex::_no_safepoint_check_flag, waitms); } } void G1YoungRemSetSamplingThread::run_service() { double vtime_start = os::elapsedVTime(); ! while (!should_terminate()) { sample_young_list_rs_lengths(); if (os::supports_vtime()) { _vtime_accum = (os::elapsedVTime() - vtime_start); } else {
< prev index next >