src/share/vm/gc_implementation/g1/heapRegionSeq.hpp

Print this page




 205   // number of regions might be smaller than what's desired.
 206   uint expand_by(uint num_regions);
 207 
 208   // Makes sure that the regions from start to start+num_regions-1 are available
 209   // for allocation. Returns the number of regions that were committed to achieve
 210   // this.
 211   uint expand_at(uint start, uint num_regions);
 212 
 213   // Find a contiguous set of empty regions of length num. Returns the start index of
 214   // that set, or G1_NO_HRS_INDEX.
 215   uint find_contiguous_only_empty(size_t num) { return find_contiguous(num, true); }
 216   // Find a contiguous set of empty or unavailable regions of length num. Returns the
 217   // start index of that set, or G1_NO_HRS_INDEX.
 218   uint find_contiguous_empty_or_unavailable(size_t num) { return find_contiguous(num, false); }
 219 
 220   HeapRegion* next_region_in_heap(const HeapRegion* r) const;
 221 
 222   // Apply blk->doHeapRegion() on all committed regions in address order,
 223   // terminating the iteration early if doHeapRegion() returns true.
 224   void iterate(HeapRegionClosure* blk) const;

 225 
 226   void par_iterate(HeapRegionClosure* blk, uint worker_id, uint no_of_par_workers, jint claim_value) const;
 227 
 228   // Uncommit up to num_regions_to_remove regions that are completely free.
 229   // Return the actual number of uncommitted regions.
 230   uint shrink_by(uint num_regions_to_remove);
 231 
 232   void verify();
 233 
 234   // Do some sanity checking.
 235   void verify_optional() PRODUCT_RETURN;
 236 };
 237 
 238 #endif // SHARE_VM_GC_IMPLEMENTATION_G1_HEAPREGIONSEQ_HPP
 239 


 205   // number of regions might be smaller than what's desired.
 206   uint expand_by(uint num_regions);
 207 
 208   // Makes sure that the regions from start to start+num_regions-1 are available
 209   // for allocation. Returns the number of regions that were committed to achieve
 210   // this.
 211   uint expand_at(uint start, uint num_regions);
 212 
 213   // Find a contiguous set of empty regions of length num. Returns the start index of
 214   // that set, or G1_NO_HRS_INDEX.
 215   uint find_contiguous_only_empty(size_t num) { return find_contiguous(num, true); }
 216   // Find a contiguous set of empty or unavailable regions of length num. Returns the
 217   // start index of that set, or G1_NO_HRS_INDEX.
 218   uint find_contiguous_empty_or_unavailable(size_t num) { return find_contiguous(num, false); }
 219 
 220   HeapRegion* next_region_in_heap(const HeapRegion* r) const;
 221 
 222   // Apply blk->doHeapRegion() on all committed regions in address order,
 223   // terminating the iteration early if doHeapRegion() returns true.
 224   void iterate(HeapRegionClosure* blk) const;
 225   void iterate_range(HeapRegionClosure* blk, uint start, uint end) const;
 226 
 227   void par_iterate(HeapRegionClosure* blk, uint worker_id, uint no_of_par_workers, jint claim_value) const;
 228 
 229   // Uncommit up to num_regions_to_remove regions that are completely free.
 230   // Return the actual number of uncommitted regions.
 231   uint shrink_by(uint num_regions_to_remove);
 232 
 233   void verify();
 234 
 235   // Do some sanity checking.
 236   void verify_optional() PRODUCT_RETURN;
 237 };
 238 
 239 #endif // SHARE_VM_GC_IMPLEMENTATION_G1_HEAPREGIONSEQ_HPP
 240