> This PR combines the "open" and "closed" regions of the CDS archive heap into 
> a single region. This significantly simplifies the implementation, making it 
> more compatible with non-G1 collectors. There's a net removal of ~1000 lines 
> in src code and another ~1200 lines of tests.
> 
> **Notes for reviewers:**
> - Most of the code changes in CDS are removing the handling of "open" vs 
> "closed" objects.
>   - Reviewers can start with ArchiveHeapWriter::copy_source_objs_to_buffer().
>   - It might be easier to see the diff with whitespaces off.
> - There are two major changes in the G1 code
>   - The archived objects are now stored in the "old" region (see 
> g1CollectedHeap.cpp in 
> [58d720e](https://github.com/openjdk/jdk/pull/13284/commits/58d720e294bb36f21cb88cddde724ed2b9e93770))
>   - The majority of the other changes are removal of the "archive" region 
> type (see heapRegionType.hpp). For ease of review, such code is isolated in 
> [a852dfb](https://github.com/openjdk/jdk/pull/13284/commits/a852dfbbf5ff56e035399f7cc3704f29e76697f6)
> - Testing changes:
>   - Now the archived java objects can move, along with the "old" regions that 
> contain them. It's no longer possible to test whether a heap object came from 
> CDS. As a result, the `WhiteBox.isShared(Object o)` API has been removed.
>   - Many tests that uses this API are removed. Most of them were written 
> during early development of CDS archived objects and are no longer relevant.
> 
> **Testing:**
> - Mach5 tiers 1 ~ 7

Ioi Lam has updated the pull request incrementally with two additional commits 
since the last revision:

 - more clean up: heap_regions -> heap_region, etc
 - @matias9927 comments

-------------

Changes:
  - all: https://git.openjdk.org/jdk/pull/13284/files
  - new: https://git.openjdk.org/jdk/pull/13284/files/a852dfbb..a1a3cac7

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=13284&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=13284&range=00-01

  Stats: 116 lines in 12 files changed: 11 ins; 46 del; 59 mod
  Patch: https://git.openjdk.org/jdk/pull/13284.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/13284/head:pull/13284

PR: https://git.openjdk.org/jdk/pull/13284

Reply via email to