hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp
bool do_card_ptr(jbyte* card_ptr, int worker_i) {
{- -------------------------------------------
(1) G1RemSet::concurrentRefineOneCard() を呼び出して, 処理を行う.
---------------------------------------- -}
bool oops_into_cset = _g1rs->concurrentRefineOneCard(card_ptr, worker_i, false);
// This path is executed by the concurrent refine or mutator threads,
// concurrently, and so we do not care if card_ptr contains references
// that point into the collection set.
assert(!oops_into_cset, "should be");
{- -------------------------------------------
(1) 一旦待機する必要があれば false, そうでなければ true をリターンする.
---------------------------------------- -}
if (_concurrent && _sts->should_yield()) {
// Caller will actually yield.
return false;
}
// Otherwise, we finished successfully; return true.
return true;
}
This document is available under the GNU GENERAL PUBLIC LICENSE Version 2.