RFR: 7904028: jcstress: Address s.m.Unsafe use warnings which fail build on JDK 23+ [v2]
Aleksey Shipilev
shade at openjdk.org
Thu Jun 19 09:22:49 UTC 2025
On Thu, 19 Jun 2025 09:06:25 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.
>
> Pavel Rappo has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains two commits:
>
> - Merge branch 'master' into CODETOOLS-7904028
> - Initial commit
It is not very clear why sometimes we do `@SuppressWarnings` on the class, and sometimes on the fields/methods. I think doing all annotations on class-level is clean enough. Your call, though.
-------------
Marked as reviewed by shade (Committer).
PR Review: https://git.openjdk.org/jcstress/pull/165#pullrequestreview-2942237733
More information about the jcstress-dev
mailing list