RFR: 8221554: aarch64 cross-modifying code

Alan Hayward github.com+4146708+a74nh at openjdk.java.net
Mon Oct 12 12:50:14 UTC 2020


On Mon, 5 Oct 2020 16:05:43 GMT, Alan Hayward <github.com+4146708+a74nh at openjdk.org> wrote:

>>> _Mailing list message from [Andrew Haley](mailto:aph at redhat.com) on [hotspot-dev](mailto:hotspot-dev at openjdk.java.net):_
>>> 
>>> On 02/10/2020 09:08, Alan Hayward wrote:
>>> 
>>> > I have no strong feeling on the names of these functions.
>>> > The reason for moving it was that in the third part (the verification testing) it needs JavaThread.
>>> 
>>> Right, but you can get the JavaThread efficiently any time you want,
>>> so you don't need to pass it to cross_modify_fence().
>>> 
>> 
>> Oh, ok, didn't spot that.
>> This would result in code in OrderAccess.cpp calling a function in JavaThread.
>> It feels that OrderAccess should be much lower level than JavaThread. But, that might be ok.
>
> Patch updated.
> 
> * cross_modify_fence now calls cross_modify_fence_impl as suggested.
> 
> * ISBs in the JNI calls have been removed. This means that it is currently unsafe to merge until
>   https://github.com/openjdk/jdk/pull/296 has been merged.

https://github.com/openjdk/jdk/pull/296 has been merged to head.

Rebased this request and re-tested.
All review comments have been addressed.
Note that with VerifyCrossModifyFence set, testing took longer by a factor of *2.5.

-------------

PR: https://git.openjdk.java.net/jdk/pull/428


More information about the hotspot-dev mailing list