[aarch64-port-dev ] RFR: 8243339: AArch64: Obsolete UseBarriersForVolatile option
Andrew Haley
aph at redhat.com
Thu May 14 10:46:54 UTC 2020
On 5/14/20 11:39 AM, Andrew Dinn wrote:
> On 14/05/2020 11:15, Andrew Haley wrote:
>> On 5/14/20 11:07 AM, Xiaohong Gong wrote:
>>> Hi Andrew,
>>>
>>> Thanks for having a look at it!
>>>
>>> > On 5/14/20 10:37 AM, Andrew Haley wrote:
>>> > > On 5/14/20 9:48 AM, Andrew Dinn wrote:
>>> > >> Just for references a direct link to the webrev, issue and CSR
>>> > are:
>>> > >>
>>> > >> https://cr.openjdk.java.net/~xgong/rfr/8243339/webrev.00/
>>> > >> https://bugs.openjdk.java.net/browse/JDK-8243339
>>> > >> https://bugs.openjdk.java.net/browse/JDK-8243456
>>> > >>
>>> > >> The webrev looks fine to me. Nice work, thank you!
>>> > >
>>> > > There's a problem with C1: we generate unnecessary DMBs if
>>> > > we're using TieredStopAtLevel=1 or if we only have the client
>>> > > compiler. This is a performance regression, so I reject this
>>> > > patch.
>>> >
>>> > There are similar regressoins in the interpreter.
>>>
>>> Yes, I agree with you that regressions exist for interpreter and
>>> client compiler. So do you think if it's better to add the
>>> conditions to add DMBs for C1 and interpreter? How about just
>>> excluding the scenario like "interpreter only", "client compiler
>>> only" and "TieredStopAtLevel=1" ?
>>
>> Yes, I think so. Is there some way simply to ask the question "Are we
>> using C2 or JVMCI compilers?" That's what we need to know.
> This can be done using build time conditionality.
Not entirely, because this is also switchable at runtime.
> Elsewhere in the code
> base we have:
>
> #ifdef COMPILER2
> . . .
>
> #if INCLUDE_JVMCI
> . . .
>
> #if COMPILER2_OR_JVMCI
> . . .
>
>
> regards,
>
>
> Andrew Dinn
> -----------
>
--
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