RFR: 8227369: pd_disjoint_words_atomic() needs to be atomic

David Holmes dholmes at openjdk.java.net
Wed Feb 23 04:33:06 UTC 2022


Replace the common "atomic" switch+loop code chunks in the pd code with a shared version that uses Atomic::load/store.

See details in the bug report that show how current code is actually replaced by `memcpy` (in some places at least) whereas the new code is not.

Platforms affected:
 - all x86
 - Zero
 - Windows Aarch64
 - PPC

Testing: tiers 1-3
Additional builds: tiers 4 and 5
 - builds covered: x86 and Zero

GHA
- builds covered:  Windows-Aarch64

The only build affected and not tested is PPC. It would be great if someone could take this for a spin on PPC.

For platforms not affected by this change, i.e. those that already specialise the code, I make not claims regarding the atomicity or otherwise of those specialized versions. That would be for someone interested in those specific platforms to check out.

Thanks,
David

-------------

Commit messages:
 - 8227369: pd_disjoint_words_atomic() needs to be atomic

Changes: https://git.openjdk.java.net/jdk/pull/7567/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=7567&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8227369
  Stats: 88 lines in 5 files changed: 24 ins; 58 del; 6 mod
  Patch: https://git.openjdk.java.net/jdk/pull/7567.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/7567/head:pull/7567

PR: https://git.openjdk.java.net/jdk/pull/7567


More information about the hotspot-dev mailing list