< prev index next >

src/share/vm/gc/g1/heapRegionManager.cpp

Print this page
rev 8825 : [mq]: rev2

@@ -435,10 +435,17 @@
   verify_optional();
 
   return removed;
 }
 
+void HeapRegionManager::shrink_at(uint index) {
+  assert(is_available(index), err_msg("Expected available region at index %u", index));
+  HeapRegion* curr_region  = _regions.get_by_index(index);
+  assert(curr_region->is_free(), err_msg("Expected free region at index %u", index));
+  uncommit_regions(index, 1);
+}
+
 uint HeapRegionManager::find_empty_from_idx_reverse(uint start_idx, uint* res_idx) const {
   guarantee(start_idx < _allocated_heapregions_length, "checking");
   guarantee(res_idx != NULL, "checking");
 
   uint num_regions_found = 0;
< prev index next >