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

changeset 2493
97ba643ea3ed
parent 2472
0fa27f37d4d4
child 2504
c33825b68624
equal deleted inserted replaced
2492:a672e43650cc 2493:97ba643ea3ed
4923 assert(dirty_card_queue_set().completed_buffers_num() == 0, "All should be consumed"); 4923 assert(dirty_card_queue_set().completed_buffers_num() == 0, "All should be consumed");
4924 } 4924 }
4925 COMPILER2_PRESENT(DerivedPointerTable::update_pointers()); 4925 COMPILER2_PRESENT(DerivedPointerTable::update_pointers());
4926 } 4926 }
4927 4927
4928 void G1CollectedHeap::free_region_if_totally_empty(HeapRegion* hr, 4928 void G1CollectedHeap::free_region_if_empty(HeapRegion* hr,
4929 size_t* pre_used, 4929 size_t* pre_used,
4930 FreeRegionList* free_list, 4930 FreeRegionList* free_list,
4931 HumongousRegionSet* humongous_proxy_set, 4931 HumongousRegionSet* humongous_proxy_set,
4932 HRRSCleanupTask* hrrs_cleanup_task,
4932 bool par) { 4933 bool par) {
4933 if (hr->used() > 0 && hr->max_live_bytes() == 0 && !hr->is_young()) { 4934 if (hr->used() > 0 && hr->max_live_bytes() == 0 && !hr->is_young()) {
4934 if (hr->isHumongous()) { 4935 if (hr->isHumongous()) {
4935 assert(hr->startsHumongous(), "we should only see starts humongous"); 4936 assert(hr->startsHumongous(), "we should only see starts humongous");
4936 free_humongous_region(hr, pre_used, free_list, humongous_proxy_set, par); 4937 free_humongous_region(hr, pre_used, free_list, humongous_proxy_set, par);
4937 } else { 4938 } else {
4938 free_region(hr, pre_used, free_list, par); 4939 free_region(hr, pre_used, free_list, par);
4939 } 4940 }
4941 } else {
4942 hr->rem_set()->do_cleanup_work(hrrs_cleanup_task);
4940 } 4943 }
4941 } 4944 }
4942 4945
4943 void G1CollectedHeap::free_region(HeapRegion* hr, 4946 void G1CollectedHeap::free_region(HeapRegion* hr,
4944 size_t* pre_used, 4947 size_t* pre_used,

mercurial