comparison src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp @ 20257:7426d8d76305

8034761: Remove the do_code_roots parameter from process_strong_roots Reviewed-by: tschatzl, mgerdin, jmasa
author stefank
date Thu, 13 Feb 2014 17:44:39 +0100
parents 9fec19bb0659
children 30c99d8e0f02
comparison
equal deleted inserted replaced
20256:b0b97602393a 20257:7426d8d76305
3038 gch->gen_process_strong_roots(_cmsGen->level(), 3038 gch->gen_process_strong_roots(_cmsGen->level(),
3039 true, // younger gens are roots 3039 true, // younger gens are roots
3040 true, // activate StrongRootsScope 3040 true, // activate StrongRootsScope
3041 SharedHeap::ScanningOption(roots_scanning_options()), 3041 SharedHeap::ScanningOption(roots_scanning_options()),
3042 &notOlder, 3042 &notOlder,
3043 true, // walk code active on stacks
3044 NULL, 3043 NULL,
3045 NULL); // SSS: Provide correct closure 3044 NULL); // SSS: Provide correct closure
3046 3045
3047 // Now mark from the roots 3046 // Now mark from the roots
3048 MarkFromRootsClosure markFromRootsClosure(this, _span, 3047 MarkFromRootsClosure markFromRootsClosure(this, _span,
3105 gch->gen_process_strong_roots(_cmsGen->level(), 3104 gch->gen_process_strong_roots(_cmsGen->level(),
3106 true, // younger gens are roots 3105 true, // younger gens are roots
3107 true, // activate StrongRootsScope 3106 true, // activate StrongRootsScope
3108 SharedHeap::ScanningOption(roots_scanning_options()), 3107 SharedHeap::ScanningOption(roots_scanning_options()),
3109 &notOlder, 3108 &notOlder,
3110 true, // walk code active on stacks
3111 NULL, 3109 NULL,
3112 &klass_closure); 3110 &klass_closure);
3113 3111
3114 // Now mark from the roots 3112 // Now mark from the roots
3115 MarkFromRootsVerifyClosure markFromRootsClosure(this, _span, 3113 MarkFromRootsVerifyClosure markFromRootsClosure(this, _span,
3684 } 3682 }
3685 3683
3686 ResourceMark rm; 3684 ResourceMark rm;
3687 HandleMark hm; 3685 HandleMark hm;
3688 3686
3689 FalseClosure falseClosure;
3690 // In the case of a synchronous collection, we will elide the
3691 // remark step, so it's important to catch all the nmethod oops
3692 // in this step.
3693 // The final 'true' flag to gen_process_strong_roots will ensure this.
3694 // If 'async' is true, we can relax the nmethod tracing.
3695 MarkRefsIntoClosure notOlder(_span, &_markBitMap); 3687 MarkRefsIntoClosure notOlder(_span, &_markBitMap);
3696 GenCollectedHeap* gch = GenCollectedHeap::heap(); 3688 GenCollectedHeap* gch = GenCollectedHeap::heap();
3697 3689
3698 verify_work_stacks_empty(); 3690 verify_work_stacks_empty();
3699 verify_overflow_empty(); 3691 verify_overflow_empty();
3742 gch->gen_process_strong_roots(_cmsGen->level(), 3734 gch->gen_process_strong_roots(_cmsGen->level(),
3743 true, // younger gens are roots 3735 true, // younger gens are roots
3744 true, // activate StrongRootsScope 3736 true, // activate StrongRootsScope
3745 SharedHeap::ScanningOption(roots_scanning_options()), 3737 SharedHeap::ScanningOption(roots_scanning_options()),
3746 &notOlder, 3738 &notOlder,
3747 true, // walk all of code cache if (so & SO_AllCodeCache)
3748 NULL, 3739 NULL,
3749 &klass_closure); 3740 &klass_closure);
3750 } 3741 }
3751 } 3742 }
3752 3743
5241 gch->gen_process_strong_roots(_collector->_cmsGen->level(), 5232 gch->gen_process_strong_roots(_collector->_cmsGen->level(),
5242 false, // yg was scanned above 5233 false, // yg was scanned above
5243 false, // this is parallel code 5234 false, // this is parallel code
5244 SharedHeap::ScanningOption(_collector->CMSCollector::roots_scanning_options()), 5235 SharedHeap::ScanningOption(_collector->CMSCollector::roots_scanning_options()),
5245 &par_mri_cl, 5236 &par_mri_cl,
5246 true, // walk all of code cache if (so & SO_AllCodeCache)
5247 NULL, 5237 NULL,
5248 &klass_closure); 5238 &klass_closure);
5249 assert(_collector->should_unload_classes() 5239 assert(_collector->should_unload_classes()
5250 || (_collector->CMSCollector::roots_scanning_options() & SharedHeap::SO_AllCodeCache), 5240 || (_collector->CMSCollector::roots_scanning_options() & SharedHeap::SO_AllCodeCache),
5251 "if we didn't scan the code cache, we have to be ready to drop nmethods with expired weak oops"); 5241 "if we didn't scan the code cache, we have to be ready to drop nmethods with expired weak oops");
5377 gch->gen_process_strong_roots(_collector->_cmsGen->level(), 5367 gch->gen_process_strong_roots(_collector->_cmsGen->level(),
5378 false, // yg was scanned above 5368 false, // yg was scanned above
5379 false, // this is parallel code 5369 false, // this is parallel code
5380 SharedHeap::ScanningOption(_collector->CMSCollector::roots_scanning_options()), 5370 SharedHeap::ScanningOption(_collector->CMSCollector::roots_scanning_options()),
5381 &par_mrias_cl, 5371 &par_mrias_cl,
5382 true, // walk all of code cache if (so & SO_AllCodeCache)
5383 NULL, 5372 NULL,
5384 NULL); // The dirty klasses will be handled below 5373 NULL); // The dirty klasses will be handled below
5385 assert(_collector->should_unload_classes() 5374 assert(_collector->should_unload_classes()
5386 || (_collector->CMSCollector::roots_scanning_options() & SharedHeap::SO_AllCodeCache), 5375 || (_collector->CMSCollector::roots_scanning_options() & SharedHeap::SO_AllCodeCache),
5387 "if we didn't scan the code cache, we have to be ready to drop nmethods with expired weak oops"); 5376 "if we didn't scan the code cache, we have to be ready to drop nmethods with expired weak oops");
5967 gch->gen_process_strong_roots(_cmsGen->level(), 5956 gch->gen_process_strong_roots(_cmsGen->level(),
5968 true, // younger gens as roots 5957 true, // younger gens as roots
5969 false, // use the local StrongRootsScope 5958 false, // use the local StrongRootsScope
5970 SharedHeap::ScanningOption(roots_scanning_options()), 5959 SharedHeap::ScanningOption(roots_scanning_options()),
5971 &mrias_cl, 5960 &mrias_cl,
5972 true, // walk code active on stacks
5973 NULL, 5961 NULL,
5974 NULL); // The dirty klasses will be handled below 5962 NULL); // The dirty klasses will be handled below
5975 5963
5976 assert(should_unload_classes() 5964 assert(should_unload_classes()
5977 || (roots_scanning_options() & SharedHeap::SO_AllCodeCache), 5965 || (roots_scanning_options() & SharedHeap::SO_AllCodeCache),