< prev index next >
src/hotspot/share/gc/g1/g1OopClosures.cpp
Print this page
rev 56327 : imported patch 8159984-slow
*** 47,60 ****
if (!_process_only_dirty || cld->has_modified_oops()) {
// Tell the closure that this class loader data is the CLD to scavenge
// and is the one to dirty if oops are left pointing into the young gen.
_closure->set_scanned_cld(cld);
!
! // Clean the cld since we're going to scavenge all the metadata.
! // Clear modified oops only if this cld is claimed.
! cld->oops_do(_closure, _claim, /*clear_modified_oops*/true);
_closure->set_scanned_cld(NULL);
_closure->trim_queue_partially();
}
--- 47,58 ----
if (!_process_only_dirty || cld->has_modified_oops()) {
// Tell the closure that this class loader data is the CLD to scavenge
// and is the one to dirty if oops are left pointing into the young gen.
_closure->set_scanned_cld(cld);
! // Clean modified oops since we're going to scavenge all the metadata.
! cld->oops_do(_closure, ClassLoaderData::_claim_none, true /*clear_modified_oops*/);
_closure->set_scanned_cld(NULL);
_closure->trim_queue_partially();
}
< prev index next >