Hi all, Currently, the non-CDS test of `valhalla/valuetypes/SubstitutabilityTest.java` is disabled. This is because it uses `-Xshare:off` which is fundamentally incompatible with some AOT flags that the test is run with.
In this fix, we introduce a new `@requires` property which denotes if the AOT code cache has been given as a command-line argument. If that is the case, we skip the test. For context, from the failure: > Option AOTCache cannot be used at the same time with -Xshare:on, > -Xshare:auto, -Xshare:off, -Xshare:dump, DumpLoadedClassList, > SharedClassListFile, or SharedArchiveFile An alternative considered was to use `@requires vm.flagless`. However, there are many configurations, such as different GCs, that we would lose out on. Substitutability plays quite a central concept with value classes, therefore, a new property is perhaps the more suitable approach. Testing: the Oracle tiers in which we observed failures, and a smoke-test tier 1 on Linux (x64, AArch64), macOS (x64, AArch64), Windows (x64). ------------- Commit messages: - Restrain SubstitutabilityTest with -Xshare:off. Changes: https://git.openjdk.org/valhalla/pull/1995/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=1995&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8374025 Stats: 19 lines in 4 files changed: 14 ins; 1 del; 4 mod Patch: https://git.openjdk.org/valhalla/pull/1995.diff Fetch: git fetch https://git.openjdk.org/valhalla.git pull/1995/head:pull/1995 PR: https://git.openjdk.org/valhalla/pull/1995
