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

Reply via email to