< prev index next >

src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp

Print this page

        

*** 596,606 **** _verification_mark_bm(0, Mutex::leaf + 1, "CMS_verification_mark_bm_lock"), _completed_initialization(false), _collector_policy(cp), _should_unload_classes(CMSClassUnloadingEnabled), _concurrent_cycles_since_last_unload(0), ! _roots_scanning_options(SharedHeap::SO_None), _inter_sweep_estimate(CMS_SweepWeight, CMS_SweepPadding), _intra_sweep_estimate(CMS_SweepWeight, CMS_SweepPadding), _gc_tracer_cm(new (ResourceObj::C_HEAP, mtGC) CMSTracer()), _gc_timer_cm(new (ResourceObj::C_HEAP, mtGC) ConcurrentGCTimer()), _cms_start_registered(false) --- 596,606 ---- _verification_mark_bm(0, Mutex::leaf + 1, "CMS_verification_mark_bm_lock"), _completed_initialization(false), _collector_policy(cp), _should_unload_classes(CMSClassUnloadingEnabled), _concurrent_cycles_since_last_unload(0), ! _roots_scanning_options(GenCollectedHeap::SO_None), _inter_sweep_estimate(CMS_SweepWeight, CMS_SweepPadding), _intra_sweep_estimate(CMS_SweepWeight, CMS_SweepPadding), _gc_tracer_cm(new (ResourceObj::C_HEAP, mtGC) CMSTracer()), _gc_timer_cm(new (ResourceObj::C_HEAP, mtGC) ConcurrentGCTimer()), _cms_start_registered(false)
*** 3066,3076 **** gch->rem_set()->prepare_for_younger_refs_iterate(false); // Not parallel. gch->gen_process_roots(_cmsGen->level(), true, // younger gens are roots true, // activate StrongRootsScope ! SharedHeap::ScanningOption(roots_scanning_options()), should_unload_classes(), &notOlder, NULL, NULL); // SSS: Provide correct closure --- 3066,3076 ---- gch->rem_set()->prepare_for_younger_refs_iterate(false); // Not parallel. gch->gen_process_roots(_cmsGen->level(), true, // younger gens are roots true, // activate StrongRootsScope ! GenCollectedHeap::ScanningOption(roots_scanning_options()), should_unload_classes(), &notOlder, NULL, NULL); // SSS: Provide correct closure
*** 3134,3144 **** gch->rem_set()->prepare_for_younger_refs_iterate(false); // Not parallel. gch->gen_process_roots(_cmsGen->level(), true, // younger gens are roots true, // activate StrongRootsScope ! SharedHeap::ScanningOption(roots_scanning_options()), should_unload_classes(), &notOlder, NULL, &cld_closure); --- 3134,3144 ---- gch->rem_set()->prepare_for_younger_refs_iterate(false); // Not parallel. gch->gen_process_roots(_cmsGen->level(), true, // younger gens are roots true, // activate StrongRootsScope ! GenCollectedHeap::ScanningOption(roots_scanning_options()), should_unload_classes(), &notOlder, NULL, &cld_closure);
*** 3325,3335 **** } void CMSCollector::setup_cms_unloading_and_verification_state() { const bool should_verify = VerifyBeforeGC || VerifyAfterGC || VerifyDuringGC || VerifyBeforeExit; ! const int rso = SharedHeap::SO_AllCodeCache; // We set the proper root for this CMS cycle here. if (should_unload_classes()) { // Should unload classes this cycle remove_root_scanning_option(rso); // Shrink the root set appropriately set_verifying(should_verify); // Set verification state for this cycle --- 3325,3335 ---- } void CMSCollector::setup_cms_unloading_and_verification_state() { const bool should_verify = VerifyBeforeGC || VerifyAfterGC || VerifyDuringGC || VerifyBeforeExit; ! const int rso = GenCollectedHeap::SO_AllCodeCache; // We set the proper root for this CMS cycle here. if (should_unload_classes()) { // Should unload classes this cycle remove_root_scanning_option(rso); // Shrink the root set appropriately set_verifying(should_verify); // Set verification state for this cycle
*** 3751,3761 **** CLDToOopClosure cld_closure(&notOlder, true); gch->rem_set()->prepare_for_younger_refs_iterate(false); // Not parallel. gch->gen_process_roots(_cmsGen->level(), true, // younger gens are roots true, // activate StrongRootsScope ! SharedHeap::ScanningOption(roots_scanning_options()), should_unload_classes(), &notOlder, NULL, &cld_closure); } --- 3751,3761 ---- CLDToOopClosure cld_closure(&notOlder, true); gch->rem_set()->prepare_for_younger_refs_iterate(false); // Not parallel. gch->gen_process_roots(_cmsGen->level(), true, // younger gens are roots true, // activate StrongRootsScope ! GenCollectedHeap::ScanningOption(roots_scanning_options()), should_unload_classes(), &notOlder, NULL, &cld_closure); }
*** 5252,5268 **** CLDToOopClosure cld_closure(&par_mri_cl, true); gch->gen_process_roots(_collector->_cmsGen->level(), false, // yg was scanned above false, // this is parallel code ! SharedHeap::ScanningOption(_collector->CMSCollector::roots_scanning_options()), _collector->should_unload_classes(), &par_mri_cl, NULL, &cld_closure); assert(_collector->should_unload_classes() ! || (_collector->CMSCollector::roots_scanning_options() & SharedHeap::SO_AllCodeCache), "if we didn't scan the code cache, we have to be ready to drop nmethods with expired weak oops"); _timer.stop(); if (PrintCMSStatistics != 0) { gclog_or_tty->print_cr( "Finished remaining root initial mark scan work in %dth thread: %3.3f sec", --- 5252,5268 ---- CLDToOopClosure cld_closure(&par_mri_cl, true); gch->gen_process_roots(_collector->_cmsGen->level(), false, // yg was scanned above false, // this is parallel code ! GenCollectedHeap::ScanningOption(_collector->CMSCollector::roots_scanning_options()), _collector->should_unload_classes(), &par_mri_cl, NULL, &cld_closure); assert(_collector->should_unload_classes() ! || (_collector->CMSCollector::roots_scanning_options() & GenCollectedHeap::SO_AllCodeCache), "if we didn't scan the code cache, we have to be ready to drop nmethods with expired weak oops"); _timer.stop(); if (PrintCMSStatistics != 0) { gclog_or_tty->print_cr( "Finished remaining root initial mark scan work in %dth thread: %3.3f sec",
*** 5388,5405 **** _timer.reset(); _timer.start(); gch->gen_process_roots(_collector->_cmsGen->level(), false, // yg was scanned above false, // this is parallel code ! SharedHeap::ScanningOption(_collector->CMSCollector::roots_scanning_options()), _collector->should_unload_classes(), &par_mrias_cl, NULL, NULL); // The dirty klasses will be handled below assert(_collector->should_unload_classes() ! || (_collector->CMSCollector::roots_scanning_options() & SharedHeap::SO_AllCodeCache), "if we didn't scan the code cache, we have to be ready to drop nmethods with expired weak oops"); _timer.stop(); if (PrintCMSStatistics != 0) { gclog_or_tty->print_cr( "Finished remaining root rescan work in %dth thread: %3.3f sec", --- 5388,5405 ---- _timer.reset(); _timer.start(); gch->gen_process_roots(_collector->_cmsGen->level(), false, // yg was scanned above false, // this is parallel code ! GenCollectedHeap::ScanningOption(_collector->CMSCollector::roots_scanning_options()), _collector->should_unload_classes(), &par_mrias_cl, NULL, NULL); // The dirty klasses will be handled below assert(_collector->should_unload_classes() ! || (_collector->CMSCollector::roots_scanning_options() & GenCollectedHeap::SO_AllCodeCache), "if we didn't scan the code cache, we have to be ready to drop nmethods with expired weak oops"); _timer.stop(); if (PrintCMSStatistics != 0) { gclog_or_tty->print_cr( "Finished remaining root rescan work in %dth thread: %3.3f sec",
*** 5980,5997 **** GenCollectedHeap::StrongRootsScope srs(gch); gch->gen_process_roots(_cmsGen->level(), true, // younger gens as roots false, // use the local StrongRootsScope ! SharedHeap::ScanningOption(roots_scanning_options()), should_unload_classes(), &mrias_cl, NULL, NULL); // The dirty klasses will be handled below assert(should_unload_classes() ! || (roots_scanning_options() & SharedHeap::SO_AllCodeCache), "if we didn't scan the code cache, we have to be ready to drop nmethods with expired weak oops"); } { GCTraceTime t("visit unhandled CLDs", PrintGCDetails, false, _gc_timer_cm, _gc_tracer_cm->gc_id()); --- 5980,5997 ---- GenCollectedHeap::StrongRootsScope srs(gch); gch->gen_process_roots(_cmsGen->level(), true, // younger gens as roots false, // use the local StrongRootsScope ! GenCollectedHeap::ScanningOption(roots_scanning_options()), should_unload_classes(), &mrias_cl, NULL, NULL); // The dirty klasses will be handled below assert(should_unload_classes() ! || (roots_scanning_options() & GenCollectedHeap::SO_AllCodeCache), "if we didn't scan the code cache, we have to be ready to drop nmethods with expired weak oops"); } { GCTraceTime t("visit unhandled CLDs", PrintGCDetails, false, _gc_timer_cm, _gc_tracer_cm->gc_id());
< prev index next >