< prev index next >

src/hotspot/share/gc/g1/g1Policy.cpp

Print this page
rev 60061 : imported patch 8210462-kbarrett-review

*** 677,696 **** // This has been the young GC before we start doing mixed GCs. We already // decided to start mixed GCs much earlier, so there is nothing to do except // advancing the state. collector_state()->set_in_young_only_phase(false); collector_state()->set_in_young_gc_before_mixed(false); ! } else if (!is_young_only_pause(this_pause)) { // This is a mixed GC. Here we decide whether to continue doing more // mixed GCs or not. if (!next_gc_should_be_mixed("continue mixed GCs", "do not continue mixed GCs")) { collector_state()->set_in_young_only_phase(true); clear_collection_set_candidates(); maybe_start_marking(); } } _eden_surv_rate_group->start_adding_regions(); double merge_hcc_time_ms = average_time_ms(G1GCPhaseTimes::MergeHCC); --- 677,698 ---- // This has been the young GC before we start doing mixed GCs. We already // decided to start mixed GCs much earlier, so there is nothing to do except // advancing the state. collector_state()->set_in_young_only_phase(false); collector_state()->set_in_young_gc_before_mixed(false); ! } else if (is_mixed_pause(this_pause)) { // This is a mixed GC. Here we decide whether to continue doing more // mixed GCs or not. if (!next_gc_should_be_mixed("continue mixed GCs", "do not continue mixed GCs")) { collector_state()->set_in_young_only_phase(true); clear_collection_set_candidates(); maybe_start_marking(); } + } else { + assert(is_young_only_pause(this_pause), "must be"); } _eden_surv_rate_group->start_adding_regions(); double merge_hcc_time_ms = average_time_ms(G1GCPhaseTimes::MergeHCC);
*** 1156,1165 **** --- 1158,1174 ---- assert(kind != Remark, "must be"); assert(kind != Cleanup, "must be"); return kind == ConcurrentStartGC || kind == LastYoungGC || kind == YoungOnlyGC; } + bool G1Policy::is_mixed_pause(PauseKind kind) { + assert(kind != FullGC, "must be"); + assert(kind != Remark, "must be"); + assert(kind != Cleanup, "must be"); + return kind == MixedGC; + } + bool G1Policy::is_last_young_pause(PauseKind kind) { return kind == LastYoungGC; } bool G1Policy::is_concurrent_start_pause(PauseKind kind) {
< prev index next >