[aarch64-port-dev ] volatiles and membars in jdk7 aarch64.ad
Edward Nevill
edward.nevill at linaro.org
Wed Nov 26 10:49:38 UTC 2014
On 26 November 2014 at 10:12, Andrew Dinn <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.
All the best,
Ed
More information about the aarch64-port-dev
mailing list