Print this page
G1: Use SoftMaxHeapSize to guide GC heuristics
@@ -69,29 +69,34 @@
bool _clearing_next_bitmap;
// Set during a full gc pause.
bool _in_full_gc;
+ // Indicate finish of mixed gc(s)
+ bool _finish_of_mixed_gc;
+
public:
G1CollectorState() :
_in_young_only_phase(true),
_in_young_gc_before_mixed(false),
_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) { }
+ _in_full_gc(false),
+ _finish_of_mixed_gc(false) { }
// Phase setters
void set_in_young_only_phase(bool v) { _in_young_only_phase = v; }
// Pause setters
void set_in_young_gc_before_mixed(bool v) { _in_young_gc_before_mixed = v; }
void set_in_initial_mark_gc(bool v) { _in_initial_mark_gc = v; }
void set_in_full_gc(bool v) { _in_full_gc = v; }
+ void set_finish_of_mixed_gc(bool v) { _finish_of_mixed_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; }
@@ -107,10 +112,11 @@
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; }
+ bool finish_of_mixed_gc() const { return _finish_of_mixed_gc; }
G1YCType yc_type() const {
if (in_initial_mark_gc()) {
return InitialMark;
} else if (mark_or_rebuild_in_progress()) {