In G1 we maintain a lot of region lists (collection set list, young regions list, etc.) but we do so in ad-hoc and inconsistent ways. That code is also very error-prone: one change on this code is known to be followed-up with several assertion failures. We would like to restructure the region lists in G1 to make the code more consistant and easier to maintain. Main requirements of this change are:
- Use a top-level G1HeapRegionList class to maintain all lists (with possible specialized subclasses)
- Each heap region will belong to exactly one list at any time and have a single next field
- The heap region lists will maintain the used space for the entire heap.
- Use a top-level G1HeapRegionList class to maintain all lists (with possible specialized subclasses)
- Each heap region will belong to exactly one list at any time and have a single next field
- The heap region lists will maintain the used space for the entire heap.
- relates to
-
JDK-8034079 G1: Refactor the HeapRegionSet hierarchy
- Resolved
-
JDK-6868854 G1: Eliminate serial Other times at the end of a GC pause
- Closed
-
JDK-7002407 G1: Improve free region management
- Open
-
JDK-6977804 G1: remove the zero-filling thread
- Closed
-
JDK-7092309 G1: introduce old region set
- Closed