Mercurial > hg > graal-jvmci-8
comparison src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp @ 23029:0f8f1250fed5
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
author | kbarrett |
---|---|
date | Wed, 22 Apr 2015 14:06:49 -0400 |
parents | b7c8142a9e0b |
children | ea47136e6ea4 |
comparison
equal
deleted
inserted
replaced
23028:b5d14ef905b5 | 23029:0f8f1250fed5 |
---|---|
4091 register_humongous_regions_with_in_cset_fast_test(); | 4091 register_humongous_regions_with_in_cset_fast_test(); |
4092 | 4092 |
4093 assert(check_cset_fast_test(), "Inconsistency in the InCSetState table."); | 4093 assert(check_cset_fast_test(), "Inconsistency in the InCSetState table."); |
4094 | 4094 |
4095 _cm->note_start_of_gc(); | 4095 _cm->note_start_of_gc(); |
4096 // We should not verify the per-thread SATB buffers given that | 4096 // We call this after finalize_cset() to |
4097 // we have not filtered them yet (we'll do so during the | |
4098 // GC). We also call this after finalize_cset() to | |
4099 // ensure that the CSet has been finalized. | 4097 // ensure that the CSet has been finalized. |
4100 _cm->verify_no_cset_oops(true /* verify_stacks */, | 4098 _cm->verify_no_cset_oops(); |
4101 true /* verify_enqueued_buffers */, | |
4102 false /* verify_thread_buffers */, | |
4103 true /* verify_fingers */); | |
4104 | 4099 |
4105 if (_hr_printer.is_active()) { | 4100 if (_hr_printer.is_active()) { |
4106 HeapRegion* hr = g1_policy()->collection_set(); | 4101 HeapRegion* hr = g1_policy()->collection_set(); |
4107 while (hr != NULL) { | 4102 while (hr != NULL) { |
4108 _hr_printer.cset(hr); | 4103 _hr_printer.cset(hr); |
4120 // Initialize the GC alloc regions. | 4115 // Initialize the GC alloc regions. |
4121 _allocator->init_gc_alloc_regions(evacuation_info); | 4116 _allocator->init_gc_alloc_regions(evacuation_info); |
4122 | 4117 |
4123 // Actually do the work... | 4118 // Actually do the work... |
4124 evacuate_collection_set(evacuation_info); | 4119 evacuate_collection_set(evacuation_info); |
4125 | |
4126 // We do this to mainly verify the per-thread SATB buffers | |
4127 // (which have been filtered by now) since we didn't verify | |
4128 // them earlier. No point in re-checking the stacks / enqueued | |
4129 // buffers given that the CSet has not changed since last time | |
4130 // we checked. | |
4131 _cm->verify_no_cset_oops(false /* verify_stacks */, | |
4132 false /* verify_enqueued_buffers */, | |
4133 true /* verify_thread_buffers */, | |
4134 true /* verify_fingers */); | |
4135 | 4120 |
4136 free_collection_set(g1_policy()->collection_set(), evacuation_info); | 4121 free_collection_set(g1_policy()->collection_set(), evacuation_info); |
4137 | 4122 |
4138 eagerly_reclaim_humongous_regions(); | 4123 eagerly_reclaim_humongous_regions(); |
4139 | 4124 |
4213 } | 4198 } |
4214 } | 4199 } |
4215 | 4200 |
4216 // We redo the verification but now wrt to the new CSet which | 4201 // We redo the verification but now wrt to the new CSet which |
4217 // has just got initialized after the previous CSet was freed. | 4202 // has just got initialized after the previous CSet was freed. |
4218 _cm->verify_no_cset_oops(true /* verify_stacks */, | 4203 _cm->verify_no_cset_oops(); |
4219 true /* verify_enqueued_buffers */, | |
4220 true /* verify_thread_buffers */, | |
4221 true /* verify_fingers */); | |
4222 _cm->note_end_of_gc(); | 4204 _cm->note_end_of_gc(); |
4223 | 4205 |
4224 // This timing is only used by the ergonomics to handle our pause target. | 4206 // This timing is only used by the ergonomics to handle our pause target. |
4225 // It is unclear why this should not include the full pause. We will | 4207 // It is unclear why this should not include the full pause. We will |
4226 // investigate this in CR 7178365. | 4208 // investigate this in CR 7178365. |