RFR (XS) 8211375: Minimal VM build failures after JDK-8211251 (Default mask register for avx512 instructions)

Vladimir Kozlov vladimir.kozlov at oracle.com
Tue Oct 2 17:25:04 UTC 2018


Sorry about that. Instructions setvectmask and restorevectmask and code in 
restore_cpu_control_state_after_jni() should be moved under #ifdef COMPILER2 instead. We have other 
C2 specific code in this file - it is normal.

Thanks,
Vladimir

On 10/2/18 12:36 AM, Aleksey Shipilev wrote:
> Bug:
>    https://bugs.openjdk.java.net/browse/JDK-8211375
> 
> Frankly, I do not understand what business the C2 compiler option has in macroAssembler, which is
> supposed to be compiler-independent? I submitted https://bugs.openjdk.java.net/browse/JDK-8211376
> for that, please assign appropriately.
> 
> Anyhow, the build fix for configurations that do not have C2 enabled:
> 
> diff -r 4756af2308a1 src/hotspot/cpu/x86/macroAssembler_x86.cpp
> --- a/src/hotspot/cpu/x86/macroAssembler_x86.cpp        Mon Oct 01 20:16:55 2018 -0400
> +++ b/src/hotspot/cpu/x86/macroAssembler_x86.cpp        Tue Oct 02 09:29:00 2018 +0200
> @@ -3268,5 +3268,5 @@
> 
>   void MacroAssembler::setvectmask(Register dst, Register src) {
> -  guarantee(PostLoopMultiversioning == true, "must be");
> +  COMPILER2_PRESENT(guarantee(PostLoopMultiversioning, "must be");)
>     Assembler::movl(dst, 1);
>     Assembler::shlxl(dst, dst, src);
> @@ -3277,5 +3277,5 @@
> 
>   void MacroAssembler::restorevectmask() {
> -  guarantee(PostLoopMultiversioning == true, "must be");
> +  COMPILER2_PRESENT(guarantee(PostLoopMultiversioning, "must be");)
>     Assembler::knotwl(k1, k0);
>   }
> @@ -5029,5 +5029,5 @@
>     vzeroupper();
>     // Reset k1 to 0xffff.
> -  if (PostLoopMultiversioning && VM_Version::supports_evex()) {
> +  if (COMPILER2_PRESENT(PostLoopMultiversioning) NOT_COMPILER2(false) && VM_Version::supports_evex()) {
>       push(rcx);
>       movl(rcx, 0xffff);
> 
> Testing: x86_64 (minimal|server) builds
> 
> Thanks,
> -Aleksey
> 


More information about the hotspot-compiler-dev mailing list