[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