[aarch64-port-dev ] volatiles and membars in jdk7 aarch64.ad
Andrew Dinn
adinn at redhat.com
Wed Nov 26 11:10:48 UTC 2014
On 26/11/14 10:49, Edward Nevill wrote:
>
>
> On 26 November 2014 at 10:12, Andrew Dinn <adinn at redhat.com
> <mailto:adinn at redhat.com>> wrote:
>
> operation as two separate operations, a barrier employing
> ins_pipe(pipe_serial) and a load or store using ins_pipe(iload_mem) or
> ins_pipe(istore_mem). If the volatile operations are included then the
> model accounts for a synchronizing memory operation as a single
> acquiring load or releasing store using ins_pipe(pipe_serial) or
> ins_pipe(pipe_class_memory). I assume that will also be how it will work
> when your switchable version is in place. That looks reasonable to me
> but I wondered if anyone had any thoughts? Ed?
>
>
> It should be pipe_serial, looking at the existing code it seems to use
> pipe_class_memory for storeB_volatile, storeC_volatile, storeI_volatile
> et al. This is wrong. pipe_class_memory does not have the necessary
> magic force_serialization.
>
> pipe_class_memory is vestigial from the previous implemention.
Well, I admit that I wondered about that but I assumed you must know
what you are doing ;-).
I have faithfully copied into JDK7 what you added to JDK8/9. Do you want
to post a patch for JDK8/9 or shall I? I will backport to JDK7 once
upstream as been fixed.
regards,
Andrew Dinn
-----------
More information about the aarch64-port-dev
mailing list