< prev index next >

src/hotspot/share/gc/serial/defNewGeneration.cpp

Print this page

        

*** 90,101 **** void DefNewGeneration::FastKeepAliveClosure::do_oop(oop* p) { DefNewGeneration::FastKeepAliveClosure::do_oop_work(p); } void DefNewGeneration::FastKeepAliveClosure::do_oop(narrowOop* p) { DefNewGeneration::FastKeepAliveClosure::do_oop_work(p); } DefNewGeneration::FastEvacuateFollowersClosure:: FastEvacuateFollowersClosure(SerialHeap* heap, ! FastScanClosure* cur, ! FastScanClosure* older) : _heap(heap), _scan_cur_or_nonheap(cur), _scan_older(older) { } void DefNewGeneration::FastEvacuateFollowersClosure::do_void() { --- 90,101 ---- void DefNewGeneration::FastKeepAliveClosure::do_oop(oop* p) { DefNewGeneration::FastKeepAliveClosure::do_oop_work(p); } void DefNewGeneration::FastKeepAliveClosure::do_oop(narrowOop* p) { DefNewGeneration::FastKeepAliveClosure::do_oop_work(p); } DefNewGeneration::FastEvacuateFollowersClosure:: FastEvacuateFollowersClosure(SerialHeap* heap, ! DefNewScanClosure* cur, ! DefNewYoungerGenClosure* older) : _heap(heap), _scan_cur_or_nonheap(cur), _scan_older(older) { } void DefNewGeneration::FastEvacuateFollowersClosure::do_void() {
*** 103,118 **** _heap->oop_since_save_marks_iterate(_scan_cur_or_nonheap, _scan_older); } while (!_heap->no_allocs_since_save_marks()); guarantee(_heap->young_gen()->promo_failure_scan_is_complete(), "Failed to finish scan"); } - FastScanClosure::FastScanClosure(DefNewGeneration* g, bool gc_barrier) : - OopsInClassLoaderDataOrGenClosure(g), _g(g), _gc_barrier(gc_barrier) - { - _boundary = _g->reserved().end(); - } - void CLDScanClosure::do_cld(ClassLoaderData* cld) { NOT_PRODUCT(ResourceMark rm); log_develop_trace(gc, scavenge)("CLDScanClosure::do_cld " PTR_FORMAT ", %s, dirty: %s", p2i(cld), cld->loader_name_and_id(), --- 103,112 ----
*** 568,587 **** heap->rem_set()->prepare_for_younger_refs_iterate(false); assert(heap->no_allocs_since_save_marks(), "save marks have not been newly set."); ! FastScanClosure fsc_with_no_gc_barrier(this, false); ! FastScanClosure fsc_with_gc_barrier(this, true); ! CLDScanClosure cld_scan_closure(&fsc_with_no_gc_barrier, heap->rem_set()->cld_rem_set()->accumulate_modified_oops()); ! set_promo_failure_scan_stack_closure(&fsc_with_no_gc_barrier); FastEvacuateFollowersClosure evacuate_followers(heap, ! &fsc_with_no_gc_barrier, ! &fsc_with_gc_barrier); assert(heap->no_allocs_since_save_marks(), "save marks have not been newly set."); { --- 562,581 ---- heap->rem_set()->prepare_for_younger_refs_iterate(false); assert(heap->no_allocs_since_save_marks(), "save marks have not been newly set."); ! DefNewScanClosure scan_closure(this); ! DefNewYoungerGenClosure younger_gen_closure(this, _old_gen); ! CLDScanClosure cld_scan_closure(&scan_closure, heap->rem_set()->cld_rem_set()->accumulate_modified_oops()); ! set_promo_failure_scan_stack_closure(&scan_closure); FastEvacuateFollowersClosure evacuate_followers(heap, ! &scan_closure, ! &younger_gen_closure); assert(heap->no_allocs_since_save_marks(), "save marks have not been newly set."); {
*** 589,600 **** // version of the card table scanning code is used. // See: CardTableRS::non_clean_card_iterate_possibly_parallel. StrongRootsScope srs(0); heap->young_process_roots(&srs, ! &fsc_with_no_gc_barrier, ! &fsc_with_gc_barrier, &cld_scan_closure); } // "evacuate followers". evacuate_followers.do_void(); --- 583,594 ---- // version of the card table scanning code is used. // See: CardTableRS::non_clean_card_iterate_possibly_parallel. StrongRootsScope srs(0); heap->young_process_roots(&srs, ! &scan_closure, ! &younger_gen_closure, &cld_scan_closure); } // "evacuate followers". evacuate_followers.do_void();
< prev index next >