RFR: 8325937: runtime/handshake/HandshakeDirectTest.java causes "monitor end should be strictly below the frame pointer" assertion failure on AArch64
Andrew Haley
aph at openjdk.org
Wed Oct 2 09:53:35 UTC 2024
On Tue, 1 Oct 2024 18:38:33 GMT, Coleen Phillimore <coleenp at openjdk.org> wrote:
> Add missing StoreLoad fences in handshaking code to match safepoint code. Thanks to @pchilano for finding this bug.
>
> Tested with tier1-4 and tier8 which has Kitchensink in it.
On 10/2/24 10:40, David Holmes wrote:
>> A full fence at acquire would, for example, prevent previous accesses from being moved into a synchronized block.
>
> Wouldn't such a move contravene SC?
No. "sequentially consistent" doesn't imply that every
synchronizes-with operation is a full fence. It just means that if you
do a bunch of writes in Thread A, then a releasing operation in A,
then an acquiring operation in Thread B, then read in B whatever you
just wrote in A, the program behaves as though there were the same
total order observed by all threads.
This doesn't prevent prior writes in B, for example, from being moved
after the acquire.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/21295#issuecomment-2388146048
More information about the hotspot-runtime-dev
mailing list