RFR: 8272348: Update CDS tests in anticipation of JDK-8270489
iklam at openjdk.java.net
Thu Aug 12 00:10:34 UTC 2021
For testing https://github.com/openjdk/jdk/pull/5074 (Support archived heap objects in EpsilonGC), some CDS tests should be updated:
(1) Add `@require vm.gc == null` to mark test cases that will fail if a collector is explicitly specified using `-XX:+UseXXXGC`
(2) Rename this WhiteBox API to reflect what it checks:
!WB.areSharedStringsIgnored() -> WB.areSharedStringsMapped()
With EpsilonGC, the shared strings are not "ignored", but they are also not "mapped" either (they are copied into the Java heap). The existing tests are for mapped strings only, so they should check for `WB.areSharedStringsMapped()`.
(3) For test cases that check if a heap object is a shared interned string, instead of the generic `WB.isShared(Object o)` API, use a new specific API `WB.isSharedInternedString(String s)`. This API currently works only for "mapped shared strings", but in the future we may enhance it to check for "loaded shared strings" by EpsilonGC.
(4) Also fix the two test cases that were sensitive to irregular -Xlog output:
- ServiceLoaderTest.java: remove timestamp decorations from the logs
- DumpClassList.java: handle extra space characters that may appear in the tag decoration between square brackets.
- 8272348: Update CDS tests in anticipation of JDK-8270489
Stats: 81 lines in 22 files changed: 27 ins; 0 del; 54 mod
Fetch: git fetch https://git.openjdk.java.net/jdk pull/5095/head:pull/5095
More information about the hotspot-runtime-dev