RFR: 7904028: jcstress: Address s.m.Unsafe use warnings which fail build on JDK 23+
Jiří Vaněk
jvanek at openjdk.org
Mon Jun 9 14:38:07 UTC 2025
On Sun, 8 Jun 2025 22:22:37 GMT, Pavel Rappo <prappo at openjdk.org> wrote:
> 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.
Right. The predefined string constants should remain. The predefined set is not strict, may depend on compiler and may contain custom values which are ignored by compiler. Sorry for not being clear. `@SuppressWarnings({"removal", "CODETOOLS-..."})` is waht I would like to see there, bBut you are right, it is not exactly common habit. (note, I'm not even committer, so better to wait for a reviewer).
-------------
PR Comment: https://git.openjdk.org/jcstress/pull/165#issuecomment-2955988342
More information about the jcstress-dev
mailing list