474 AgeTable *local_table = par_scan_state.age_table(); |
474 AgeTable *local_table = par_scan_state.age_table(); |
475 _young_gen.age_table()->merge(local_table); |
475 _young_gen.age_table()->merge(local_table); |
476 |
476 |
477 // Inform old gen that we're done. |
477 // Inform old gen that we're done. |
478 _old_gen.par_promote_alloc_done(i); |
478 _old_gen.par_promote_alloc_done(i); |
479 _old_gen.par_oop_since_save_marks_iterate_done(i); |
|
480 } |
479 } |
481 |
480 |
482 if (UseConcMarkSweepGC) { |
481 if (UseConcMarkSweepGC) { |
483 // We need to call this even when ResizeOldPLAB is disabled |
482 // We need to call this even when ResizeOldPLAB is disabled |
484 // so as to avoid breaking some asserts. While we may be able |
483 // so as to avoid breaking some asserts. While we may be able |
617 |
616 |
618 par_scan_state.end_strong_roots(); |
617 par_scan_state.end_strong_roots(); |
619 |
618 |
620 // "evacuate followers". |
619 // "evacuate followers". |
621 par_scan_state.evacuate_followers_closure().do_void(); |
620 par_scan_state.evacuate_followers_closure().do_void(); |
|
621 |
|
622 // This will collapse this worker's promoted object list that's |
|
623 // created during the main ParNew parallel phase of ParNew. This has |
|
624 // to be called after all workers have finished promoting objects |
|
625 // and scanning promoted objects. It should be safe calling it from |
|
626 // here, given that we can only reach here after all thread have |
|
627 // offered termination, i.e., after there is no more work to be |
|
628 // done. It will also disable promotion tracking for the rest of |
|
629 // this GC as it's not necessary to be on during reference processing. |
|
630 _old_gen->par_oop_since_save_marks_iterate_done((int) worker_id); |
622 } |
631 } |
623 |
632 |
624 ParNewGeneration::ParNewGeneration(ReservedSpace rs, size_t initial_byte_size) |
633 ParNewGeneration::ParNewGeneration(ReservedSpace rs, size_t initial_byte_size) |
625 : DefNewGeneration(rs, initial_byte_size, "PCopy"), |
634 : DefNewGeneration(rs, initial_byte_size, "PCopy"), |
626 _overflow_list(NULL), |
635 _overflow_list(NULL), |