[aarch64-port-dev ] RFR(s): 8171449" [aarch64] store_klass needs to use store release

Kim Barrett kim.barrett at oracle.com
Wed Dec 21 22:39:05 UTC 2016


> On Dec 20, 2016, at 5:01 AM, Andrew Dinn <adinn at redhat.com> wrote:
> 
> 
> 
> On 19/12/16 21:22, White, Derek wrote:
>> As the "FIXME" noted, aarch64 really does need to use a store release
>> in the "store_klass" macro, at least when a concurrent GC is in
>> effect.
>> 
>> BUG: https://bugs.openjdk.java.net/browse/JDK-8171449
>> 
>> Webrev:
>> http://cr.openjdk.java.net/~drwhite/8171449/webrev.01/index.html
>> 
>> BTW, PPC is likely to need a similar fix...
> 
> This looks like only half the story. The stlrw is only going to be of
> any relevance if code which reads the klass and klass length does so
> using a ldarw (n.b. these synchronizing instructions will only be needed
> if there is no other guarantee of memory synchronization between any
> store and its corresponding load).
> 
> Can you point to where in the GC code the corresponding loads occur?

All of the relevant GC reads of klass and associated size should involve
oopDesc::klass_or_null_acquire().




More information about the aarch64-port-dev mailing list