[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