[concurrency-interest] Thread safety of WeakReference .get() method?

Vitaly Davidovich vitalyd at gmail.com
Fri Aug 10 09:30:38 EDT 2012


Yup I saw it on that list as well - quick work by Vladimir! :)

Sent from my phone
On Aug 10, 2012 2:05 AM, "Aleksey Shipilev" <aleksey.shipilev at oracle.com>
wrote:

> On 08/08/2012 06:11 PM, Aleksey Shipilev wrote:
> > Hence, the compiler should probably handle the fields which are normally
> > updated by the GC in a specific way, e.g. prevent hoisting. Marking
> > referent as volatile brings that effect into life, but at the cost of
> > volatile write for the initial value (we had some optimization in mind
> > to handle that, but this is by no means a quick solution).
>
> FYI.
>
> This is the submitted bug (not available in public yet):
>  http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7190310
>
> And this is the fix:
>
> http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/2012-August/008190.html
>
> I had double-checked Heinz's testcase now works, and disassembly shows
> plain field read inside the loop. membar_acquire had essentially reduced
> to nop on my x86 laptop.
>
> -Aleksey.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://cs.oswego.edu/pipermail/concurrency-interest/attachments/20120810/eb7af8c8/attachment.html>


More information about the Concurrency-interest mailing list