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

Reply via email to