RFR: 7904028: jcstress: Address s.m.Unsafe use warnings which fail build on JDK 23+

Pavel Rappo prappo at openjdk.org
Sun Jun 8 22:26:12 UTC 2025


Here I propose a simple, symptomatic solution to fix build failures on JDK 23+ caused by treating "deprecated for removal" warnings as errors.

In the patch, I tried to keep the scope of `@SuppressWarnings` to a minimum. However, in a few cases I had to broaden it. This is because this annotation cannot be applied to a static initializer or an assignment within it.

Instead of extracting code into methods for the sake of annotating those, I annotated the smallest annotatable outer element, which was the top-level class. For example, see: `UnsafeBusyLoopTest`, `UnsafeAddLong1`, `UnsafeAddLong42`. 

I note that in JBS @shipilev suggested another approach to address the warnings. Namely, to move from `Unsafe` to `VarHandle`. However, such an approach is beyond my competence. And if chosen, it should be done by someone else. Thanks.

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

Commit messages:
 - Initial commit

Changes: https://git.openjdk.org/jcstress/pull/165/files
  Webrev: https://webrevs.openjdk.org/?repo=jcstress&pr=165&range=00
  Issue: https://bugs.openjdk.org/browse/CODETOOLS-7904028
  Stats: 49 lines in 24 files changed: 49 ins; 0 del; 0 mod
  Patch: https://git.openjdk.org/jcstress/pull/165.diff
  Fetch: git fetch https://git.openjdk.org/jcstress.git pull/165/head:pull/165

PR: https://git.openjdk.org/jcstress/pull/165


More information about the jcstress-dev mailing list