RFR: 8332105: Exploded JDK does not include CDS

Thomas Stuefe stuefe at openjdk.org
Sat May 11 10:03:25 UTC 2024


An exploded JDK cannot be used with either -Xshare:on or -Xshare:auto. That causes tests like runtime/CompressedOops/CompressedCPUSpecificClassSpaceReservation.java to fail when running on an exploded JDK.

Since an exploded JDK cannot use CDS, we should - for tests - treat it as if CDS had not been included.


----

Note that I was torn between two ways to fix this:

- either this fix, which is rather simple and automatically updates the "vm.cds" `@requires` property
- or to expose "exploded-ness" as a boolean property via `WhiteBox` and `VMProps`(`jdk.exploded`). See this draft PR: https://github.com/openjdk/jdk/pull/19178 . 

The latter is cleaner and clearer, conveying the message of exploded-ness without muddling it with the CDS aspect. But OTOH the complexity may not be required. 

I can go either way, though I have a slight preference for this PR, which is why I posted it.

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

Commit messages:
 - JDK-8332105-Exploded-JDK-should-count-as-if-CDS-had-not-been-included-in-the-build

Changes: https://git.openjdk.org/jdk/pull/19188/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=19188&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8332105
  Stats: 6 lines in 2 files changed: 5 ins; 0 del; 1 mod
  Patch: https://git.openjdk.org/jdk/pull/19188.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/19188/head:pull/19188

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


More information about the hotspot-dev mailing list