< prev index next >

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

Print this page
rev 49484 : imported patch 8197573-remove-secondary-free-list
rev 49494 : imported patch 8199742-collectorstate-fixes
rev 49495 : imported patch 8199742-stefanj-review
rev 49498 : imported patch 8200234-g1concurrentmark-refactorings

@@ -62,10 +62,14 @@
 
   // Marking or rebuilding remembered set work is in progress. Set from the end
   // of the initial mark pause to the end of the Cleanup pause.
   bool _mark_or_rebuild_in_progress;
 
+  // The next bitmap is currently being cleared or about to be cleared. TAMS and bitmap
+  // may be out of sync.
+  bool _clearing_next_bitmap;
+
   // Set during a full gc pause.
   bool _in_full_gc;
 
 public:
   G1CollectorState() :

@@ -74,10 +78,11 @@
 
     _in_initial_mark_gc(false),
     _initiate_conc_mark_if_possible(false),
 
     _mark_or_rebuild_in_progress(false),
+    _clearing_next_bitmap(false),
     _in_full_gc(false) { }
 
   // Phase setters
   void set_in_young_only_phase(bool v) { _in_young_only_phase = v; }
 

@@ -87,10 +92,11 @@
   void set_in_full_gc(bool v) { _in_full_gc = v; }
 
   void set_initiate_conc_mark_if_possible(bool v) { _initiate_conc_mark_if_possible = v; }
 
   void set_mark_or_rebuild_in_progress(bool v) { _mark_or_rebuild_in_progress = v; }
+  void set_clearing_next_bitmap(bool v) { _clearing_next_bitmap = v; }
 
   // Phase getters
   bool in_young_only_phase() const { return _in_young_only_phase && !_in_full_gc; }
   bool in_mixed_phase() const { return !in_young_only_phase() && !_in_full_gc; }
 

@@ -100,10 +106,11 @@
   bool in_initial_mark_gc() const { return _in_initial_mark_gc; }
   
   bool initiate_conc_mark_if_possible() const { return _initiate_conc_mark_if_possible; }
 
   bool mark_or_rebuild_in_progress() const { return _mark_or_rebuild_in_progress; }
+  bool clearing_next_bitmap() const { return _clearing_next_bitmap; }
 
   G1YCType yc_type() const {
     if (in_initial_mark_gc()) {
       return InitialMark;
     } else if (mark_or_rebuild_in_progress()) {
< prev index next >