src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepThread.cpp
Print this page
rev 4482 : 8013934: Garbage collection event for CMS has wrong cause for System.gc()
*** 138,148 ****
}
while (!_should_terminate) {
sleepBeforeNextCycle();
if (_should_terminate) break;
! _collector->collect_in_background(false); // !clear_all_soft_refs
}
assert(_should_terminate, "just checking");
// Check that the state of any protocol for synchronization
// between background (CMS) and foreground collector is "clean"
// (i.e. will not potentially block the foreground collector,
--- 138,150 ----
}
while (!_should_terminate) {
sleepBeforeNextCycle();
if (_should_terminate) break;
! GCCause::Cause cause = _collector->_full_gc_requested ?
! _collector->_full_gc_cause : GCCause::_cms_concurrent_mark;
! _collector->collect_in_background(false, cause);
}
assert(_should_terminate, "just checking");
// Check that the state of any protocol for synchronization
// between background (CMS) and foreground collector is "clean"
// (i.e. will not potentially block the foreground collector,