java.net.http.ExecutorWrapper "memory fence"
Hans Boehm
hboehm at google.com
Wed Mar 9 17:12:03 UTC 2016
On Wed, Mar 9, 2016 at 3:06 AM, Aleksey Shipilev <
aleksey.shipilev at oracle.com> wrote:
>
> In fact, assuming that a synchronized method has any *detached* memory
> semantics is wrong too -- compilers are known to elide associated
> fences. E.g. if ExecutorWrapper is known to never escape a thread, or a
> single thread locks on it, and biases a lock towards itself.
>
It may not even work at the hardware level, either. On ARMv8, the lock
implementation
may not contain any real fences to start with; memory operations before and
after
a critical section may all appear to execute inside the critical section,
with the ones
after becoming visible first.
Hans
More information about the core-libs-dev
mailing list