[12] RFR(XXS): JDK-8196950: AARCH64 - Add VM flags presets for Cavium Thunder X2 CPU
Andrew Dinn
adinn at redhat.com
Thu Nov 1 09:47:57 UTC 2018
On 31/10/18 17:40, Dmitry Chuyko wrote:
> Please review small defaults correction.
>
> rfe: https://bugs.openjdk.java.net/browse/JDK-8196950
> code:
>
> diff -r 16950b2eaebf src/hotspot/cpu/aarch64/vm_version_aarch64.cpp
> --- a/src/hotspot/cpu/aarch64/vm_version_aarch64.cpp Tue Oct 30
> 09:13:00 2018 -0400
> +++ b/src/hotspot/cpu/aarch64/vm_version_aarch64.cpp Wed Oct 31
> 20:33:41 2018 +0300
> @@ -219,7 +219,7 @@
> }
> #ifdef COMPILER2
> if (FLAG_IS_DEFAULT(UseFPUForSpilling)) {
> - FLAG_SET_DEFAULT(UseFPUForSpilling, true);
> + FLAG_SET_DEFAULT(UseFPUForSpilling, false);
> }
> #endif
> }
>
> Having "-XX:+AvoidUnalignedAccesses -XX:+UseSIMDForMemoryOps
> -XX:-UseFPUForSpilling" as a default works (in general) better for
> SPECjvm and SPECjbb.
That's fine as a goal. However, I don't think this is the right patch.
Flag UseFPUForSpilling is defined in
src/hotspot/share/opto/c2_globals.hpp as follows:
product(bool, UseFPUForSpilling, false,
\
"Spill integer registers to FPU instead of stack when
possible") \
In other words the global default is already false. Indeed, that is the
the default used for the other AArch64 variants.
So, the correct patch is to remove the whole if clause. Of course, you
should also remove the surrounding ifdef COMPILER2 endif that brackets it.
regards,
Andrew Dinn
-----------
Senior Principal Software Engineer
Red Hat UK Ltd
Registered in England and Wales under Company Registration No. 03798903
Directors: Michael Cunningham, Michael ("Mike") O'Neill, Eric Shander
More information about the hotspot-compiler-dev
mailing list