< prev index next >

src/hotspot/share/gc/cms/concurrentMarkSweepGeneration.cpp

Print this page

        

*** 2443,2453 **** } assert(verification_mark_stack()->isEmpty(), "Should have been drained"); verify_work_stacks_empty(); VerifyCLDOopsCLDClosure verify_cld_oops(verification_mark_bm()); ! ClassLoaderDataGraph::cld_oops_do(&verify_cld_oops); // Marking completed -- now verify that each bit marked in // verification_mark_bm() is also marked in markBitMap(); flag all // errors by printing corresponding objects. VerifyMarkedClosure vcl(markBitMap()); --- 2443,2453 ---- } assert(verification_mark_stack()->isEmpty(), "Should have been drained"); verify_work_stacks_empty(); VerifyCLDOopsCLDClosure verify_cld_oops(verification_mark_bm()); ! ClassLoaderDataGraph::cld_do(&verify_cld_oops); // Marking completed -- now verify that each bit marked in // verification_mark_bm() is also marked in markBitMap(); flag all // errors by printing corresponding objects. VerifyMarkedClosure vcl(markBitMap());
*** 4082,4092 **** CMSTokenSyncWithLocks ts(true, freelistLock, bitMapLock()); // SSS: Add equivalent to ScanMarkedObjectsAgainCarefullyClosure::do_yield_check and should_abort_preclean? // SSS: We should probably check if precleaning should be aborted, at suitable intervals? PrecleanCLDClosure preclean_closure(cl); ! ClassLoaderDataGraph::cld_oops_do(&preclean_closure); verify_work_stacks_empty(); verify_overflow_empty(); } --- 4082,4092 ---- CMSTokenSyncWithLocks ts(true, freelistLock, bitMapLock()); // SSS: Add equivalent to ScanMarkedObjectsAgainCarefullyClosure::do_yield_check and should_abort_preclean? // SSS: We should probably check if precleaning should be aborted, at suitable intervals? PrecleanCLDClosure preclean_closure(cl); ! ClassLoaderDataGraph::cld_do(&preclean_closure); verify_work_stacks_empty(); verify_overflow_empty(); }
*** 4446,4456 **** _timer.reset(); _timer.start(); // Scan all classes that was dirtied during the concurrent marking phase. RemarkCLDClosure remark_closure(&par_mrias_cl); ! ClassLoaderDataGraph::cld_oops_do(&remark_closure); _timer.stop(); log_trace(gc, task)("Finished dirty CLD scanning work in %dth thread: %3.3f sec", worker_id, _timer.seconds()); } --- 4446,4456 ---- _timer.reset(); _timer.start(); // Scan all classes that was dirtied during the concurrent marking phase. RemarkCLDClosure remark_closure(&par_mrias_cl); ! ClassLoaderDataGraph::cld_do(&remark_closure); _timer.stop(); log_trace(gc, task)("Finished dirty CLD scanning work in %dth thread: %3.3f sec", worker_id, _timer.seconds()); }
*** 4983,4993 **** GCTraceTime(Trace, gc, phases) t("Dirty CLD Scan", _gc_timer_cm); verify_work_stacks_empty(); RemarkCLDClosure remark_closure(&mrias_cl); ! ClassLoaderDataGraph::cld_oops_do(&remark_closure); verify_work_stacks_empty(); } verify_work_stacks_empty(); --- 4983,4993 ---- GCTraceTime(Trace, gc, phases) t("Dirty CLD Scan", _gc_timer_cm); verify_work_stacks_empty(); RemarkCLDClosure remark_closure(&mrias_cl); ! ClassLoaderDataGraph::cld_do(&remark_closure); verify_work_stacks_empty(); } verify_work_stacks_empty();
< prev index next >