< prev index next >

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

Print this page
rev 12906 : [mq]: gc_interface

*** 23,32 **** --- 23,33 ---- */ #include "precompiled.hpp" #include "gc/g1/concurrentG1Refine.hpp" #include "gc/g1/concurrentG1RefineThread.hpp" + #include "gc/g1/g1BarrierSet.hpp" #include "gc/g1/g1CollectedHeap.inline.hpp" #include "gc/g1/suspendibleThreadSet.hpp" #include "logging/log.hpp" #include "memory/resourceArea.hpp" #include "runtime/handles.inline.hpp"
*** 79,109 **** _monitor->wait(Mutex::_no_safepoint_check_flag); } } bool ConcurrentG1RefineThread::is_active() { ! DirtyCardQueueSet& dcqs = JavaThread::dirty_card_queue_set(); return is_primary() ? dcqs.process_completed_buffers() : _active; } void ConcurrentG1RefineThread::activate() { MutexLockerEx x(_monitor, Mutex::_no_safepoint_check_flag); if (!is_primary()) { set_active(true); } else { ! DirtyCardQueueSet& dcqs = JavaThread::dirty_card_queue_set(); dcqs.set_process_completed(true); } _monitor->notify(); } void ConcurrentG1RefineThread::deactivate() { MutexLockerEx x(_monitor, Mutex::_no_safepoint_check_flag); if (!is_primary()) { set_active(false); } else { ! DirtyCardQueueSet& dcqs = JavaThread::dirty_card_queue_set(); dcqs.set_process_completed(false); } } void ConcurrentG1RefineThread::run_service() { --- 80,110 ---- _monitor->wait(Mutex::_no_safepoint_check_flag); } } bool ConcurrentG1RefineThread::is_active() { ! DirtyCardQueueSet& dcqs = G1BarrierSet::dirty_card_queue_set(); return is_primary() ? dcqs.process_completed_buffers() : _active; } void ConcurrentG1RefineThread::activate() { MutexLockerEx x(_monitor, Mutex::_no_safepoint_check_flag); if (!is_primary()) { set_active(true); } else { ! DirtyCardQueueSet& dcqs = G1BarrierSet::dirty_card_queue_set(); dcqs.set_process_completed(true); } _monitor->notify(); } void ConcurrentG1RefineThread::deactivate() { MutexLockerEx x(_monitor, Mutex::_no_safepoint_check_flag); if (!is_primary()) { set_active(false); } else { ! DirtyCardQueueSet& dcqs = G1BarrierSet::dirty_card_queue_set(); dcqs.set_process_completed(false); } } void ConcurrentG1RefineThread::run_service() {
*** 115,125 **** if (should_terminate()) { break; } size_t buffers_processed = 0; ! DirtyCardQueueSet& dcqs = JavaThread::dirty_card_queue_set(); log_debug(gc, refine)("Activated %d, on threshold: " SIZE_FORMAT ", current: " SIZE_FORMAT, _worker_id, _activation_threshold, dcqs.completed_buffers_num()); { SuspendibleThreadSetJoiner sts_join; --- 116,126 ---- if (should_terminate()) { break; } size_t buffers_processed = 0; ! DirtyCardQueueSet& dcqs = G1BarrierSet::dirty_card_queue_set(); log_debug(gc, refine)("Activated %d, on threshold: " SIZE_FORMAT ", current: " SIZE_FORMAT, _worker_id, _activation_threshold, dcqs.completed_buffers_num()); { SuspendibleThreadSetJoiner sts_join;
< prev index next >