[aarch64-port-dev ] RFR(S): aarch64 Fix loading ConstantPoolCacheEntry._indices with load acquire
Andrew Haley
aph at redhat.com
Mon Nov 23 15:15:16 UTC 2015
On 11/23/2015 03:07 PM, Edward Nevill wrote:
>
> On Fri, 2015-11-20 at 22:07 +0800, Hui Shi wrote:
>> Hi,
>>
>> Could someone help review and sponsor this fix for aarch64 runtime?
>>
>> Bug: https://bugs.openjdk.java.net/browse/JDK-8143285
>> webrev: http://cr.openjdk.java.net/~hshi/8143285/webrev/
>
> Hi Shi Hui,
>
> Thanks for finding this.
>
> Do you think this should be predicated on 'UseBarriersForVolatile'
No, this is fine. This isn't a Java volatile, it's VM-internal.
AArch64 ldar/stlr work just fine for it on all hardware.
> IE.
>
> if (UseBarrieresForVolatile) {
> <ldar as you suggest>
> } else {
> <ldr>/<membar>
> }
>
> This seems to be the only code in the Template Interpreter or C1
> that uses acquire release. The only place acquire release is used
> otherwise is in C2.
>
> Do you think we should just use membar to fix this problem and then
> as a separate issue look at whether we augment the membars in
> Template Interpreter / C1 to load acquire / store release when
> possible.
No, this is fine. The wider question of changing the Template
Interpreter / C1 to load acquire / store release can wait. I think
it's just moving the furniture around for no good reason.
Andrew.
More information about the aarch64-port-dev
mailing list