RFR: 8252990: Intrinsify Unsafe.storeStoreFence
David Holmes
dholmes at openjdk.java.net
Thu Oct 28 07:28:11 UTC 2021
On Thu, 28 Oct 2021 07:00:24 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:
>> src/java.base/share/classes/jdk/internal/misc/Unsafe.java line 3449:
>>
>>> 3447: public final void storeStoreFence() {
>>> 3448: // Without the special intrinsic, default to a stronger storeFence,
>>> 3449: // which is already intrinsified.
>>
>> Not clear me to me why we need to retain this fallback?
>
> Something should happen when intrinsic is disabled. Other fences have native `Unsafe_{Load|Store|Full}Fence` entry points for this. We can, technically, do the same here, but I see no need. Instead, we can fall back to the already implemented stronger intrinsic.
Thanks for clarifying. Now we have all the intrinsics in place we have the choice of delegating either at the Java level or the native level, where previously we had to delegate at the Java level to get the benefit of the storeFence intrinsic. But it is fine as-is.
-------------
PR: https://git.openjdk.java.net/jdk/pull/6136
More information about the core-libs-dev
mailing list