Mercurial > hg > graal-jvmci-8
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 } |