RFR: 8364212: Shenandoah: Rework archived objects loading [v5]

Aleksey Shipilev shade at openjdk.org
Fri Aug 1 07:30:40 UTC 2025


> As continuation of [JDK-8293650](https://bugs.openjdk.org/browse/JDK-8293650), we would want to avoid allocating CDS archives as humongous regions and then flipping them back to regular state. This already complicates the region accounting significantly, and was a source a few bugs. We can rework the CDS archive load to cleanly ask collector for a contiguous set of regular regions.
> 
> Additional testing:
>  - [x] Linux x86_64 server fastdebug, `hotspot_gc_shenandoah`
>  - [x] Linux x86_64 server fastdebug, `runtime/cds`
>  - [x] Linux x86_64 server fastdebug, `runtime/cds` with `-XX:+UseShenandoahGC`
>  - [x] Linux x86_64 server fastdebug, `all`

Aleksey Shipilev has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains eight additional commits since the last revision:

 - Merge branch 'master' into JDK-8364212-shenandoah-archived-objs
 - Merge branch 'master' into JDK-8364212-shenandoah-archived-objs
 - Do not fill out the entire regions
 - Merge branch 'master' into JDK-8364212-shenandoah-archived-objs
 - A bit more verification
 - Fix
 - Fix
 - Regular CDS

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/26510/files
  - new: https://git.openjdk.org/jdk/pull/26510/files/84a64649..780bb19e

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=26510&range=04
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=26510&range=03-04

  Stats: 6239 lines in 132 files changed: 4457 ins; 1551 del; 231 mod
  Patch: https://git.openjdk.org/jdk/pull/26510.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/26510/head:pull/26510

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


More information about the shenandoah-dev mailing list