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,