RFR: 8276096: Simplify Unsafe.{load|store}Fence fallbacks by delegating to fullFence [v2]
Aleksey Shipilev
shade at openjdk.java.net
Mon Nov 1 12:27:13 UTC 2021
On Mon, 1 Nov 2021 07:32:18 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:
>> src/hotspot/share/classfile/vmIntrinsics.hpp line 526:
>>
>>> 524: do_name( storeFence_name, "storeFence") \
>>> 525: do_alias( storeFence_signature, void_method_signature) \
>>> 526: do_intrinsic(_fullFence, jdk_internal_misc_Unsafe, fullFence_name, fullFence_signature, F_R) \
>>
>> Why did you drop the N from F_RN? AFAICS the fullFence method is still native.
>
> Good spot! That's indeed incorrect, fixed in new commit. I am surprised `CheckIntrinsics` did not found this discrepancy. I believe "native" flags are not checked at all? For example, existing `_hashCode` intrinsic is also `F_R`, while it covers the native `java.lang.Object::hashCode`. I try to beef up those checks separately.
This `CheckIntrinsics` oddity is handled by #6187.
-------------
PR: https://git.openjdk.java.net/jdk/pull/6149
More information about the core-libs-dev
mailing list