[aarch64-port-dev ] RFR: 8243339: AArch64: Obsolete UseBarriersForVolatile option
Xiaohong Gong
Xiaohong.Gong at arm.com
Fri May 22 02:36:36 UTC 2020
Hi Andrew,
> On 5/21/20 11:24 AM, Xiaohong Gong wrote:
> > I'v created a new patch to add the condition when inserting
> "DMBs"
> > before volatile load for C1/Interpreter.
> > The updated webrev:
> > http://cr.openjdk.java.net/~xgong/rfr/8243339/webrev.01/
> >
> > It adds a new function "is_c1_or_interpreter_only()" , which can
> > decide whether C2/JVMCI is used. Besides, since AOT also uses
> Graal
> > compiler as the codegen, it always return false if AOT mode is
> enabled.
>
> Looks good to me, thanks.
>
> As far as I remember, Graal does optimize volatile accesses to use
> ldar/stlr, or at least it will do so in the future, so if we're
> using AOT or JVMCI the safe thing to do is add the DMBs.
Yes, exactly! It has a patch in Graal github to do this optimization (https://github.com/oracle/graal/pull/1772).
Thanks,
Xiaohong
-----Original Message-----
From: Andrew Haley <aph at redhat.com>
Sent: Thursday, May 21, 2020 10:06 PM
To: Xiaohong Gong <Xiaohong.Gong at arm.com>; Andrew Dinn <adinn at redhat.com>; Derek White <derekw at marvell.com>; aarch64-port-dev at openjdk.java.net; hotspot-compiler-dev at openjdk.java.net
Cc: nd <nd at arm.com>
Subject: Re: [aarch64-port-dev ] RFR: 8243339: AArch64: Obsolete UseBarriersForVolatile option
On 5/21/20 11:24 AM, Xiaohong Gong wrote:
> I'v created a new patch to add the condition when inserting "DMBs"
> before volatile load for C1/Interpreter.
> The updated webrev:
> http://cr.openjdk.java.net/~xgong/rfr/8243339/webrev.01/
>
> It adds a new function "is_c1_or_interpreter_only()" , which can
> decide whether C2/JVMCI is used. Besides, since AOT also uses Graal
> compiler as the codegen, it always return false if AOT mode is enabled.
Looks good to me, thanks.
As far as I remember, Graal does optimize volatile accesses to use ldar/stlr, or at least it will do so in the future, so if we're using AOT or JVMCI the safe thing to do is add the DMBs.
--
Andrew Haley (he/him)
Java Platform Lead Engineer
Red Hat UK Ltd. <https://www.redhat.com> https://keybase.io/andrewhaley
EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671
More information about the hotspot-compiler-dev
mailing list