mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-28 15:24:43 +02:00
8140257: Add support for "gc service threads" to ConcurrentGCThread
Push up the common run() and stop() methods from subclasses to ConcurrentGCThread, as well as declaration iof run_service() stop_service(). Reviewed-by: kbarrett, pliden
This commit is contained in:
parent
8c894a92ef
commit
f6810526ab
15 changed files with 111 additions and 223 deletions
|
@ -1412,7 +1412,7 @@ void CMSCollector::acquire_control_and_collect(bool full,
|
|||
if (_foregroundGCShouldWait) {
|
||||
// We are going to be waiting for action for the CMS thread;
|
||||
// it had better not be gone (for instance at shutdown)!
|
||||
assert(ConcurrentMarkSweepThread::cmst() != NULL,
|
||||
assert(ConcurrentMarkSweepThread::cmst() != NULL && !ConcurrentMarkSweepThread::cmst()->has_terminated(),
|
||||
"CMS thread must be running");
|
||||
// Wait here until the background collector gives us the go-ahead
|
||||
ConcurrentMarkSweepThread::clear_CMS_flag(
|
||||
|
@ -3648,7 +3648,7 @@ void CMSCollector::abortable_preclean() {
|
|||
// XXX FIX ME!!! YSR
|
||||
size_t loops = 0, workdone = 0, cumworkdone = 0, waited = 0;
|
||||
while (!(should_abort_preclean() ||
|
||||
ConcurrentMarkSweepThread::should_terminate())) {
|
||||
ConcurrentMarkSweepThread::cmst()->should_terminate())) {
|
||||
workdone = preclean_work(CMSPrecleanRefLists2, CMSPrecleanSurvivors2);
|
||||
cumworkdone += workdone;
|
||||
loops++;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue