RFR: 8276096: Simplify Unsafe.{load|store}Fence fallbacks by delegating to fullFence [v2]
Aleksey Shipilev
shade at openjdk.java.net
Mon Nov 1 07:36:57 UTC 2021
On Mon, 1 Nov 2021 02:09:19 GMT, David Holmes <dholmes at openjdk.org> wrote:
>> Aleksey Shipilev has updated the pull request incrementally with one additional commit since the last revision:
>>
>> Restore RN for fullFence
>
> 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.
-------------
PR: https://git.openjdk.java.net/jdk/pull/6149
More information about the core-libs-dev
mailing list