Mercurial > hg > graal-compiler
comparison src/share/vm/gc_implementation/parNew/parNewGeneration.cpp @ 20278:2c6ef90f030a
8049421: G1 Class Unloading after completing a concurrent mark cycle
Reviewed-by: tschatzl, ehelin, brutisso, coleenp, roland, iveresov
Contributed-by: stefan.karlsson@oracle.com, mikael.gerdin@oracle.com
author | stefank |
---|---|
date | Mon, 07 Jul 2014 10:12:40 +0200 |
parents | 7426d8d76305 |
children | ee019285a52c |
comparison
equal
deleted
inserted
replaced
20277:882004b9e7e1 | 20278:2c6ef90f030a |
---|---|
611 | 611 |
612 par_scan_state.set_young_old_boundary(_young_old_boundary); | 612 par_scan_state.set_young_old_boundary(_young_old_boundary); |
613 | 613 |
614 KlassScanClosure klass_scan_closure(&par_scan_state.to_space_root_closure(), | 614 KlassScanClosure klass_scan_closure(&par_scan_state.to_space_root_closure(), |
615 gch->rem_set()->klass_rem_set()); | 615 gch->rem_set()->klass_rem_set()); |
616 | 616 CLDToKlassAndOopClosure cld_scan_closure(&klass_scan_closure, |
617 int so = SharedHeap::SO_AllClasses | SharedHeap::SO_Strings | SharedHeap::SO_ScavengeCodeCache; | 617 &par_scan_state.to_space_root_closure(), |
618 false); | |
618 | 619 |
619 par_scan_state.start_strong_roots(); | 620 par_scan_state.start_strong_roots(); |
620 gch->gen_process_strong_roots(_gen->level(), | 621 gch->gen_process_roots(_gen->level(), |
621 true, // Process younger gens, if any, | 622 true, // Process younger gens, if any, |
622 // as strong roots. | 623 // as strong roots. |
623 false, // no scope; this is parallel code | 624 false, // no scope; this is parallel code |
624 SharedHeap::ScanningOption(so), | 625 SharedHeap::SO_ScavengeCodeCache, |
625 &par_scan_state.to_space_root_closure(), | 626 GenCollectedHeap::StrongAndWeakRoots, |
626 &par_scan_state.older_gen_closure(), | 627 &par_scan_state.to_space_root_closure(), |
627 &klass_scan_closure); | 628 &par_scan_state.older_gen_closure(), |
629 &cld_scan_closure); | |
630 | |
628 par_scan_state.end_strong_roots(); | 631 par_scan_state.end_strong_roots(); |
629 | 632 |
630 // "evacuate followers". | 633 // "evacuate followers". |
631 par_scan_state.evacuate_followers_closure().do_void(); | 634 par_scan_state.evacuate_followers_closure().do_void(); |
632 } | 635 } |