< prev index next >
src/share/vm/gc/g1/concurrentMarkThread.cpp
Print this page
rev 10297 : [mq]: webrev.01
*** 103,121 ****
~GCConcPhaseTimer() {
_cm->register_concurrent_phase_end();
}
};
- void ConcurrentMarkThread::run() {
- initialize_in_thread();
- wait_for_universe_init();
-
- run_service();
-
- terminate();
- }
-
void ConcurrentMarkThread::run_service() {
_vtime_start = os::elapsedVTime();
G1CollectedHeap* g1h = G1CollectedHeap::heap();
G1CollectorPolicy* g1_policy = g1h->g1_policy();
--- 103,112 ----
*** 291,316 ****
g1h->register_concurrent_cycle_end();
}
}
}
- void ConcurrentMarkThread::stop() {
- {
- MutexLockerEx ml(Terminator_lock);
- _should_terminate = true;
- }
-
- stop_service();
-
- {
- MutexLockerEx ml(Terminator_lock);
- while (!_has_terminated) {
- Terminator_lock->wait();
- }
- }
- }
-
void ConcurrentMarkThread::stop_service() {
MutexLockerEx ml(CGC_lock, Mutex::_no_safepoint_check_flag);
CGC_lock->notify_all();
}
--- 282,291 ----
< prev index next >