[aarch64-port-dev ] AARCH64 stage: next steps

Andrew Haley aph at redhat.com
Fri Jan 23 09:29:25 UTC 2015

On 23/01/15 02:10, David Holmes wrote:
> On 22/01/2015 9:17 PM, Andrew Haley wrote:
>> On 01/22/2015 10:12 AM, David Holmes wrote:
>>> Yes this is a badly documented flag. While originally (when we only had
>>> TSO systems) it allowed you to switch between the memory serialization
>>> pseudo-membar trick and full membars/fences,  you need UseMembar for any
>>> platform for which the memory serialization trick is not guaranteed to
>>> work. As we have discussed before we consider that to be any non-TSO
>>> platform, but PPC64 decided otherwise (did Aarch64 do the same?). :)
>> UseMembar is enabled by default on AArch64.
> Then you don't need to use the thread_state()/set_thread_state() 
> variants that PPC64 uses.

Sorry, I still don't get it.  What's the connection?  The thread state
change needs to be communicated from the mutator thread to the
collector thread.  Without an acquire in thread_state() the collector
won't see the state change.  Also, the thread state is set in three
places during a native method but there is only one write to the
serialization page.

>> Despite reading the code for some time I've been unable to figure
>> out how the serialization page is supposed to work.
> Try this:
> http://home.comcast.net/~pjbishop/Dave/Asymmetric-Dekker-Synchronization.txt

Ah, thanks.


More information about the hotspot-runtime-dev mailing list