< 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 >