This CR proposes the introduction of a heap region set (using the HeapRegionSet abstraction) for the old regions in the G1 heap. It is a part of the following umbrella CR:
6949241: G1: restructure region lists in G1
But it is relatively straightforward and reasonably self-contained so it's good to implement this separately. This change, and in particular the fact that we'll have a reliable way to keep track of the number / occupancy / capacity of the old regions in the heap, can make the implementation of other CRs easier. Examples are:
* The marking cycle initiation CR (6976060), as this will allow us to easily find out the old + humongous region occupancy to decide whether to initiate a marking cycle without having to do that only at the end of a GC.
* The M&M CRs (e.g., 7075646), as this will allow us to easily calculate the occupancy / capacity of the "old gen" in G1.