comparison src/share/vm/memory/genCollectedHeap.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
597 gen_process_strong_roots(int level, 597 gen_process_strong_roots(int level,
598 bool younger_gens_as_roots, 598 bool younger_gens_as_roots,
599 bool activate_scope, 599 bool activate_scope,
600 SharedHeap::ScanningOption so, 600 SharedHeap::ScanningOption so,
601 OopsInGenClosure* not_older_gens, 601 OopsInGenClosure* not_older_gens,
602 bool do_code_roots,
603 OopsInGenClosure* older_gens, 602 OopsInGenClosure* older_gens,
604 KlassClosure* klass_closure) { 603 KlassClosure* klass_closure) {
605 // General strong roots. 604 // General strong roots.
606 605
607 if (!do_code_roots) { 606 SharedHeap::process_strong_roots(activate_scope, so,
608 SharedHeap::process_strong_roots(activate_scope, so, 607 not_older_gens, klass_closure);
609 not_older_gens, NULL, klass_closure);
610 } else {
611 bool do_code_marking = (activate_scope || nmethod::oops_do_marking_is_active());
612 CodeBlobToOopClosure code_roots(not_older_gens, /*do_marking=*/ do_code_marking);
613 SharedHeap::process_strong_roots(activate_scope, so,
614 not_older_gens, &code_roots, klass_closure);
615 }
616 608
617 if (younger_gens_as_roots) { 609 if (younger_gens_as_roots) {
618 if (!_gen_process_strong_tasks->is_task_claimed(GCH_PS_younger_gens)) { 610 if (!_gen_process_strong_tasks->is_task_claimed(GCH_PS_younger_gens)) {
619 for (int i = 0; i < level; i++) { 611 for (int i = 0; i < level; i++) {
620 not_older_gens->set_generation(_gens[i]); 612 not_older_gens->set_generation(_gens[i]);
632 } 624 }
633 625
634 _gen_process_strong_tasks->all_tasks_completed(); 626 _gen_process_strong_tasks->all_tasks_completed();
635 } 627 }
636 628
637 void GenCollectedHeap::gen_process_weak_roots(OopClosure* root_closure, 629 void GenCollectedHeap::gen_process_weak_roots(OopClosure* root_closure) {
638 CodeBlobClosure* code_roots) { 630 SharedHeap::process_weak_roots(root_closure);
639 SharedHeap::process_weak_roots(root_closure, code_roots);
640 // "Local" "weak" refs 631 // "Local" "weak" refs
641 for (int i = 0; i < _n_gens; i++) { 632 for (int i = 0; i < _n_gens; i++) {
642 _gens[i]->ref_processor()->weak_oops_do(root_closure); 633 _gens[i]->ref_processor()->weak_oops_do(root_closure);
643 } 634 }
644 } 635 }