< prev index next >

src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp

Print this page
rev 7326 : 8078023: verify_no_cset_oops found reclaimed humongous object in SATB buffer
Summary: Removed no longer valid checking of SATB buffers
Reviewed-by: jmasa, pliden

*** 4091,4108 **** register_humongous_regions_with_in_cset_fast_test(); assert(check_cset_fast_test(), "Inconsistency in the InCSetState table."); _cm->note_start_of_gc(); ! // We should not verify the per-thread SATB buffers given that ! // we have not filtered them yet (we'll do so during the ! // GC). We also call this after finalize_cset() to // ensure that the CSet has been finalized. ! _cm->verify_no_cset_oops(true /* verify_stacks */, ! true /* verify_enqueued_buffers */, ! false /* verify_thread_buffers */, ! true /* verify_fingers */); if (_hr_printer.is_active()) { HeapRegion* hr = g1_policy()->collection_set(); while (hr != NULL) { _hr_printer.cset(hr); --- 4091,4103 ---- register_humongous_regions_with_in_cset_fast_test(); assert(check_cset_fast_test(), "Inconsistency in the InCSetState table."); _cm->note_start_of_gc(); ! // We call this after finalize_cset() to // ensure that the CSet has been finalized. ! _cm->verify_no_cset_oops(); if (_hr_printer.is_active()) { HeapRegion* hr = g1_policy()->collection_set(); while (hr != NULL) { _hr_printer.cset(hr);
*** 4121,4140 **** _allocator->init_gc_alloc_regions(evacuation_info); // Actually do the work... evacuate_collection_set(evacuation_info); - // We do this to mainly verify the per-thread SATB buffers - // (which have been filtered by now) since we didn't verify - // them earlier. No point in re-checking the stacks / enqueued - // buffers given that the CSet has not changed since last time - // we checked. - _cm->verify_no_cset_oops(false /* verify_stacks */, - false /* verify_enqueued_buffers */, - true /* verify_thread_buffers */, - true /* verify_fingers */); - free_collection_set(g1_policy()->collection_set(), evacuation_info); eagerly_reclaim_humongous_regions(); g1_policy()->clear_collection_set(); --- 4116,4125 ----
*** 4213,4226 **** } } // We redo the verification but now wrt to the new CSet which // has just got initialized after the previous CSet was freed. ! _cm->verify_no_cset_oops(true /* verify_stacks */, ! true /* verify_enqueued_buffers */, ! true /* verify_thread_buffers */, ! true /* verify_fingers */); _cm->note_end_of_gc(); // This timing is only used by the ergonomics to handle our pause target. // It is unclear why this should not include the full pause. We will // investigate this in CR 7178365. --- 4198,4208 ---- } } // We redo the verification but now wrt to the new CSet which // has just got initialized after the previous CSet was freed. ! _cm->verify_no_cset_oops(); _cm->note_end_of_gc(); // This timing is only used by the ergonomics to handle our pause target. // It is unclear why this should not include the full pause. We will // investigate this in CR 7178365.
< prev index next >