38 // may combine concurrent marking with parallel, incremental compaction of |
38 // may combine concurrent marking with parallel, incremental compaction of |
39 // heap subsets that will yield large amounts of garbage. |
39 // heap subsets that will yield large amounts of garbage. |
40 |
40 |
41 class HeapRegion; |
41 class HeapRegion; |
42 class HeapRegionSeq; |
42 class HeapRegionSeq; |
|
43 class HRRSCleanupTask; |
43 class PermanentGenerationSpec; |
44 class PermanentGenerationSpec; |
44 class GenerationSpec; |
45 class GenerationSpec; |
45 class OopsInHeapRegionClosure; |
46 class OopsInHeapRegionClosure; |
46 class G1ScanHeapEvacClosure; |
47 class G1ScanHeapEvacClosure; |
47 class ObjectClosure; |
48 class ObjectClosure; |
1097 |
1098 |
1098 // It will free a region if it has allocated objects in it that are |
1099 // It will free a region if it has allocated objects in it that are |
1099 // all dead. It calls either free_region() or |
1100 // all dead. It calls either free_region() or |
1100 // free_humongous_region() depending on the type of the region that |
1101 // free_humongous_region() depending on the type of the region that |
1101 // is passed to it. |
1102 // is passed to it. |
1102 void free_region_if_totally_empty(HeapRegion* hr, |
1103 void free_region_if_empty(HeapRegion* hr, |
1103 size_t* pre_used, |
1104 size_t* pre_used, |
1104 FreeRegionList* free_list, |
1105 FreeRegionList* free_list, |
1105 HumongousRegionSet* humongous_proxy_set, |
1106 HumongousRegionSet* humongous_proxy_set, |
1106 bool par); |
1107 HRRSCleanupTask* hrrs_cleanup_task, |
|
1108 bool par); |
1107 |
1109 |
1108 // It appends the free list to the master free list and updates the |
1110 // It appends the free list to the master free list and updates the |
1109 // master humongous list according to the contents of the proxy |
1111 // master humongous list according to the contents of the proxy |
1110 // list. It also adjusts the total used bytes according to pre_used |
1112 // list. It also adjusts the total used bytes according to pre_used |
1111 // (if par is true, it will do so by taking the ParGCRareEvent_lock). |
1113 // (if par is true, it will do so by taking the ParGCRareEvent_lock). |