< prev index next >

src/share/vm/gc/shared/referenceProcessor.cpp

Print this page
rev 10739 : 8153745: Avoid spawning G1ParPreserveCMReferentsTask when there is no work to be done
Reviewed-by:

*** 1088,1097 **** --- 1088,1106 ---- assert(obj->is_oop(), "Discovered a bad reference"); verify_referent(obj); return true; } + bool ReferenceProcessor::has_discovered_references() { + for (uint i = 0; i < _max_num_q * number_of_subclasses_of_ref(); i++) { + if (!_discovered_refs[i].is_empty()) { + return true; + } + } + return false; + } + // Preclean the discovered references by removing those // whose referents are alive, and by marking from those that // are not active. These lists can be handled here // in any order and, indeed, concurrently. void ReferenceProcessor::preclean_discovered_references(
< prev index next >