< prev index next >

src/hotspot/share/utilities/bitMap.hpp

Print this page
rev 50076 : Fold Partial GC into Traversal GC


 219   void clear_range (idx_t beg, idx_t end);
 220   void set_large_range   (idx_t beg, idx_t end);
 221   void clear_large_range (idx_t beg, idx_t end);
 222   void at_put_range(idx_t beg, idx_t end, bool value);
 223   void par_at_put_range(idx_t beg, idx_t end, bool value);
 224   void at_put_large_range(idx_t beg, idx_t end, bool value);
 225   void par_at_put_large_range(idx_t beg, idx_t end, bool value);
 226 
 227   // Update a range of bits, using a hint about the size.  Currently only
 228   // inlines the predominant case of a 1-bit range.  Works best when hint is a
 229   // compile-time constant.
 230   void set_range(idx_t beg, idx_t end, RangeSizeHint hint);
 231   void clear_range(idx_t beg, idx_t end, RangeSizeHint hint);
 232   void par_set_range(idx_t beg, idx_t end, RangeSizeHint hint);
 233   void par_clear_range  (idx_t beg, idx_t end, RangeSizeHint hint);
 234 
 235   // Clearing
 236   void clear_large();
 237   inline void clear();
 238 



 239   // Iteration support.  Returns "true" if the iteration completed, false
 240   // if the iteration terminated early (because the closure "blk" returned
 241   // false).
 242   bool iterate(BitMapClosure* blk, idx_t leftIndex, idx_t rightIndex);
 243   bool iterate(BitMapClosure* blk) {
 244     // call the version that takes an interval
 245     return iterate(blk, 0, size());
 246   }
 247 
 248   // Looking for 1's and 0's at indices equal to or greater than "l_index",
 249   // stopping if none has been found before "r_index", and returning
 250   // "r_index" (which must be at most "size") in that case.
 251   idx_t get_next_one_offset (idx_t l_index, idx_t r_index) const;
 252   idx_t get_next_zero_offset(idx_t l_index, idx_t r_index) const;
 253 
 254   idx_t get_next_one_offset(idx_t offset) const {
 255     return get_next_one_offset(offset, size());
 256   }
 257   idx_t get_next_zero_offset(idx_t offset) const {
 258     return get_next_zero_offset(offset, size());




 219   void clear_range (idx_t beg, idx_t end);
 220   void set_large_range   (idx_t beg, idx_t end);
 221   void clear_large_range (idx_t beg, idx_t end);
 222   void at_put_range(idx_t beg, idx_t end, bool value);
 223   void par_at_put_range(idx_t beg, idx_t end, bool value);
 224   void at_put_large_range(idx_t beg, idx_t end, bool value);
 225   void par_at_put_large_range(idx_t beg, idx_t end, bool value);
 226 
 227   // Update a range of bits, using a hint about the size.  Currently only
 228   // inlines the predominant case of a 1-bit range.  Works best when hint is a
 229   // compile-time constant.
 230   void set_range(idx_t beg, idx_t end, RangeSizeHint hint);
 231   void clear_range(idx_t beg, idx_t end, RangeSizeHint hint);
 232   void par_set_range(idx_t beg, idx_t end, RangeSizeHint hint);
 233   void par_clear_range  (idx_t beg, idx_t end, RangeSizeHint hint);
 234 
 235   // Clearing
 236   void clear_large();
 237   inline void clear();
 238 
 239   // Copying
 240   void copy_from(BitMap& other, size_t start, size_t end);
 241 
 242   // Iteration support.  Returns "true" if the iteration completed, false
 243   // if the iteration terminated early (because the closure "blk" returned
 244   // false).
 245   bool iterate(BitMapClosure* blk, idx_t leftIndex, idx_t rightIndex);
 246   bool iterate(BitMapClosure* blk) {
 247     // call the version that takes an interval
 248     return iterate(blk, 0, size());
 249   }
 250 
 251   // Looking for 1's and 0's at indices equal to or greater than "l_index",
 252   // stopping if none has been found before "r_index", and returning
 253   // "r_index" (which must be at most "size") in that case.
 254   idx_t get_next_one_offset (idx_t l_index, idx_t r_index) const;
 255   idx_t get_next_zero_offset(idx_t l_index, idx_t r_index) const;
 256 
 257   idx_t get_next_one_offset(idx_t offset) const {
 258     return get_next_one_offset(offset, size());
 259   }
 260   idx_t get_next_zero_offset(idx_t offset) const {
 261     return get_next_zero_offset(offset, size());


< prev index next >