G1CollectorPolicy::should_should_update_surv_rate_group_predictors() determines whether the survivor rate group predictors should be updated.
The current method uses CollectorState::last_young_gc() && !CollectorState::in_marking_window(), which means "only the gc between GC cleanup and mixed GC".
The first term is wrong, particularly when looking at the original code before JDK-7097567: it should be CollectorState::last_gc_was_young() && !CollectorState::in_marking_window(), i.e. all young gcs where no marking is running.
Fix this.