< prev index next >

src/hotspot/share/gc/g1/heapRegionRemSet.hpp

Print this page
rev 49511 : [mq]: 8200305-gc,liveness-output


 207   }
 208   size_t occ_coarse() const {
 209     return _other_regions.occ_coarse();
 210   }
 211   size_t occ_sparse() const {
 212     return _other_regions.occ_sparse();
 213   }
 214 
 215   static jint n_coarsenings() { return OtherRegionsTable::n_coarsenings(); }
 216 
 217 private:
 218   enum RemSetState {
 219     Untracked,
 220     Updating,
 221     Complete
 222   };
 223 
 224   RemSetState _state;
 225 
 226   static const char* _state_strings[];

 227 public:
 228 
 229   const char* get_state_str() const { return _state_strings[_state]; }

 230 
 231   bool is_tracked() { return _state != Untracked; }
 232   bool is_updating() { return _state == Updating; }
 233   bool is_complete() { return _state == Complete; }
 234 
 235   void set_state_empty() {
 236     guarantee(SafepointSynchronize::is_at_safepoint() || !is_tracked(), "Should only set to Untracked during safepoint but is %s.", get_state_str());
 237     if (_state == Untracked) {
 238       return;
 239     }
 240     _other_regions.clear_fcc();
 241     _state = Untracked;
 242   }
 243 
 244   void set_state_updating() {
 245     guarantee(SafepointSynchronize::is_at_safepoint() && !is_tracked(), "Should only set to Updating from Untracked during safepoint but is %s", get_state_str());
 246     _other_regions.clear_fcc();
 247     _state = Updating;
 248   }
 249 




 207   }
 208   size_t occ_coarse() const {
 209     return _other_regions.occ_coarse();
 210   }
 211   size_t occ_sparse() const {
 212     return _other_regions.occ_sparse();
 213   }
 214 
 215   static jint n_coarsenings() { return OtherRegionsTable::n_coarsenings(); }
 216 
 217 private:
 218   enum RemSetState {
 219     Untracked,
 220     Updating,
 221     Complete
 222   };
 223 
 224   RemSetState _state;
 225 
 226   static const char* _state_strings[];
 227   static const char* _short_state_strings[];
 228 public:
 229 
 230   const char* get_state_str() const { return _state_strings[_state]; }
 231   const char* get_short_state_str() const { return _short_state_strings[_state]; }
 232 
 233   bool is_tracked() { return _state != Untracked; }
 234   bool is_updating() { return _state == Updating; }
 235   bool is_complete() { return _state == Complete; }
 236 
 237   void set_state_empty() {
 238     guarantee(SafepointSynchronize::is_at_safepoint() || !is_tracked(), "Should only set to Untracked during safepoint but is %s.", get_state_str());
 239     if (_state == Untracked) {
 240       return;
 241     }
 242     _other_regions.clear_fcc();
 243     _state = Untracked;
 244   }
 245 
 246   void set_state_updating() {
 247     guarantee(SafepointSynchronize::is_at_safepoint() && !is_tracked(), "Should only set to Updating from Untracked during safepoint but is %s", get_state_str());
 248     _other_regions.clear_fcc();
 249     _state = Updating;
 250   }
 251 


< prev index next >