RFR: 8186837: Memory ordering nmethod, _state and _stack_traversal_mark
David Holmes
david.holmes at oracle.com
Tue Aug 29 12:35:42 UTC 2017
Hi Robbin,
On 29/08/2017 8:31 PM, Robbin Ehn wrote:
> Hi please review,
>
> The issue 8180932 - "Parallelize safepoint cleanup" changed
> _stack_traversal_mark to load acquire/store release, this is at least
> half wrong.
> Instead for simplicity the write side storestore fence should be match
> with loadload on read side and the changes to _stack_traversal_mark
> undone (kept it volatile).
>
> Bug:
> https://bugs.openjdk.java.net/browse/JDK-8186837
>
> Code:
> http://cr.openjdk.java.net/~rehn/8186837/hotspot.01/webrev/
This seems okay to me.
> It's not clear in this code if there other concurrent dependent
> read/writes.
> Is true that only when reading/writing _state and _stack_traversal_mark
> proper memory ordering is needed?
> To track that I created: https://bugs.openjdk.java.net/browse/JDK-8186839
Okay. We need to understand how concurrent lock-free accesses can occur
to ensure we have the right ordering constraints in place.
Thanks,
David
> Thanks Robbin
More information about the hotspot-compiler-dev
mailing list