hotspot/src/share/vm/gc/g1/g1MarkSweep.cpp
changeset 35065 b4ff0249c092
parent 35061 be6025ebffea
child 37106 0856b64af754
equal deleted inserted replaced
35063:cb24277be2e7 35065:b4ff0249c092
   327 void G1PrepareCompactClosure::free_humongous_region(HeapRegion* hr) {
   327 void G1PrepareCompactClosure::free_humongous_region(HeapRegion* hr) {
   328   HeapWord* end = hr->end();
   328   HeapWord* end = hr->end();
   329   FreeRegionList dummy_free_list("Dummy Free List for G1MarkSweep");
   329   FreeRegionList dummy_free_list("Dummy Free List for G1MarkSweep");
   330 
   330 
   331   hr->set_containing_set(NULL);
   331   hr->set_containing_set(NULL);
   332   _humongous_regions_removed.increment(1u, hr->capacity());
   332   _humongous_regions_removed++;
   333 
   333 
   334   _g1h->free_humongous_region(hr, &dummy_free_list, false /* par */);
   334   _g1h->free_humongous_region(hr, &dummy_free_list, false /* par */);
   335   prepare_for_compaction(hr, end);
   335   prepare_for_compaction(hr, end);
   336   dummy_free_list.remove_all();
   336   dummy_free_list.remove_all();
   337 }
   337 }
   356 }
   356 }
   357 
   357 
   358 void G1PrepareCompactClosure::update_sets() {
   358 void G1PrepareCompactClosure::update_sets() {
   359   // We'll recalculate total used bytes and recreate the free list
   359   // We'll recalculate total used bytes and recreate the free list
   360   // at the end of the GC, so no point in updating those values here.
   360   // at the end of the GC, so no point in updating those values here.
   361   HeapRegionSetCount empty_set;
   361   _g1h->remove_from_old_sets(0, _humongous_regions_removed);
   362   _g1h->remove_from_old_sets(empty_set, _humongous_regions_removed);
       
   363 }
   362 }
   364 
   363 
   365 bool G1PrepareCompactClosure::doHeapRegion(HeapRegion* hr) {
   364 bool G1PrepareCompactClosure::doHeapRegion(HeapRegion* hr) {
   366   if (hr->is_humongous()) {
   365   if (hr->is_humongous()) {
   367     oop obj = oop(hr->humongous_start_region()->bottom());
   366     oop obj = oop(hr->humongous_start_region()->bottom());