This PR updates the Test `compiler/stable/TestStabelArrayMembars.java` for Valhalla. This involves creating a code path for migrated value classes and a slight change to C2 to be able to clean up more barriers than previously.
Unfortunately, with `--enable-preview` C2 is not able to fully clean up all membars as it is for mainline. This is due to the later elision of the loads. After parsing, membars do not carry information that could relate them to any particular memory access, so we cannot remove them without potentially violating the JMM. Further, the implementation of `Unsafe.getFlatValueAcquire` emits a barrier in Java that cannot be eliminated by the JIT anyways. Testing: - [x] tier1,tier2 and additional stress testing. --------- - [x] I confirm that I make this contribution in accordance with the [OpenJDK Interim AI Policy](https://openjdk.org/legal/ai). ------------- Commit messages: - Fix TestStableArrayMembars Changes: https://git.openjdk.org/valhalla/pull/2441/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=2441&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8380921 Stats: 56 lines in 3 files changed: 42 ins; 2 del; 12 mod Patch: https://git.openjdk.org/valhalla/pull/2441.diff Fetch: git fetch https://git.openjdk.org/valhalla.git pull/2441/head:pull/2441 PR: https://git.openjdk.org/valhalla/pull/2441
