Since JDK-8140326 we allow reclamation of old gen regions reclaimed at any gc.
There is the set of regions selected by marking that is supposed to be guaranteed to be evacuated during Mixed GCs. That set is however already available during the Prepare Mixed gc, so they will be evacuated.
This has some issues with predictions:
* in cases where g1 can reclaim all marking regions during prepare mixed, we do not stop a degenerate Mixed Pause (without old gen regions) to happen. This influences prediction there.
If we just skipped the Mixed Pause, adaptive IHOP calculation would not get completed cycles for its length prediction, meaning IHOP will never be adjusted.
* it is unclear which types of predictions to use during a Prepare Mixed with marking regions: currently we separate them based on phase (young-only or mixed), and Prepare Mixed is part of young-only. However if we start doing evacuation of marking old regions we would potentially negatively impact predictors for the entire young-only phase.
So it is best to disable evacuation of marking old regions for Prepare Mixed pauses for now.