< prev index next >

share/gc/g1/heapRegionSet.hpp

Print this page
rev 1 : G1GC+POGC+NVDIMM Patch with latest comments incorporated from all.


 175 public:
 176   FreeRegionList(const char* name, HRSMtSafeChecker* mt_safety_checker = NULL):
 177     HeapRegionSetBase(name, false /* humongous */, true /* empty */, mt_safety_checker) {
 178     clear();
 179   }
 180 
 181   void verify_list();
 182 
 183 #ifdef ASSERT
 184   bool contains(HeapRegion* hr) const {
 185     return hr->containing_set() == this;
 186   }
 187 #endif
 188 
 189   static void set_unrealistically_long_length(uint len);
 190 
 191   // Add hr to the list. The region should not be a member of another set.
 192   // Assumes that the list is ordered and will preserve that order. The order
 193   // is determined by hrm_index.
 194   inline void add_ordered(HeapRegion* hr);
 195 
 196   // Removes from head or tail based on the given argument.
 197   HeapRegion* remove_region(bool from_head);
 198 
 199   // Merge two ordered lists. The result is also ordered. The order is
 200   // determined by hrm_index.
 201   void add_ordered(FreeRegionList* from_list);
 202 
 203   // It empties the list by removing all regions from it.
 204   void remove_all();
 205 
 206   // Remove all (contiguous) regions from first to first + num_regions -1 from
 207   // this list.
 208   // Num_regions must be > 1.
 209   void remove_starting_at(HeapRegion* first, uint num_regions);
 210 
 211   virtual void verify();
 212 };
 213 
 214 // Iterator class that provides a convenient way to iterate over the
 215 // regions of a FreeRegionList.




 175 public:
 176   FreeRegionList(const char* name, HRSMtSafeChecker* mt_safety_checker = NULL):
 177     HeapRegionSetBase(name, false /* humongous */, true /* empty */, mt_safety_checker) {
 178     clear();
 179   }
 180 
 181   void verify_list();
 182 
 183 #ifdef ASSERT
 184   bool contains(HeapRegion* hr) const {
 185     return hr->containing_set() == this;
 186   }
 187 #endif
 188 
 189   static void set_unrealistically_long_length(uint len);
 190 
 191   // Add hr to the list. The region should not be a member of another set.
 192   // Assumes that the list is ordered and will preserve that order. The order
 193   // is determined by hrm_index.
 194   inline void add_ordered(HeapRegion* hr);
 195   inline HeapRegion* show_tail() { return _tail; }
 196   // Removes from head or tail based on the given argument.
 197   HeapRegion* remove_region(bool from_head);
 198 
 199   // Merge two ordered lists. The result is also ordered. The order is
 200   // determined by hrm_index.
 201   void add_ordered(FreeRegionList* from_list);
 202 
 203   // It empties the list by removing all regions from it.
 204   void remove_all();
 205 
 206   // Remove all (contiguous) regions from first to first + num_regions -1 from
 207   // this list.
 208   // Num_regions must be > 1.
 209   void remove_starting_at(HeapRegion* first, uint num_regions);
 210 
 211   virtual void verify();
 212 };
 213 
 214 // Iterator class that provides a convenient way to iterate over the
 215 // regions of a FreeRegionList.


< prev index next >