< prev index next > src/hotspot/share/gc/cms/concurrentMarkSweepGeneration.cpp
CLD claiming
void do_oop(narrowOop* p) { ShouldNotReachHere(); }
} _oop_closure;
public:
VerifyCLDOopsCLDClosure(CMSBitMap* bitmap) : _oop_closure(bitmap) {}
void do_cld(ClassLoaderData* cld) {
- cld->oops_do(&_oop_closure, false, false);
+ cld->oops_do(&_oop_closure, ClassLoaderData::_claim_value_none, false);
}
};
void CMSCollector::verify_after_remark_work_2() {
ResourceMark rm;
ClassLoaderDataGraph::clear_claimed_marks();
// Mark from roots one level into CMS
MarkRefsIntoVerifyClosure notOlder(_span, verification_mark_bm(),
markBitMap());
- CLDToOopClosure cld_closure(¬Older, true);
+ CLDToOopClosure cld_closure(¬Older, ClassLoaderData::_claim_value_strong);
heap->rem_set()->prepare_for_younger_refs_iterate(false); // Not parallel.
{
StrongRootsScope srs(1);
} else {
tsk.work(0);
}
} else {
// The serial version.
- CLDToOopClosure cld_closure(¬Older, true);
+ CLDToOopClosure cld_closure(¬Older, ClassLoaderData::_claim_value_strong);
heap->rem_set()->prepare_for_younger_refs_iterate(false); // Not parallel.
StrongRootsScope srs(1);
heap->cms_process_roots(&srs,
// ---------- remaining roots --------------
_timer.reset();
_timer.start();
- CLDToOopClosure cld_closure(&par_mri_cl, true);
+ CLDToOopClosure cld_closure(&par_mri_cl, ClassLoaderData::_claim_value_strong);
heap->cms_process_roots(_strong_roots_scope,
false, // yg was scanned above
GenCollectedHeap::ScanningOption(_collector->CMSCollector::roots_scanning_options()),
_collector->should_unload_classes(),
};
class RemarkCLDClosure : public CLDClosure {
CLDToOopClosure _cm_closure;
public:
- RemarkCLDClosure(OopClosure* oop_closure) : _cm_closure(oop_closure) {}
+ RemarkCLDClosure(OopClosure* oop_closure) : _cm_closure(oop_closure, ClassLoaderData::_claim_value_strong) {}
void do_cld(ClassLoaderData* cld) {
// Check if we have modified any oops in the CLD during the concurrent marking.
if (cld->has_accumulated_modified_oops()) {
cld->clear_accumulated_modified_oops();
< prev index next >