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

Aleksey Shipilev shade at redhat.com
Tue Oct 2 07:36:50 UTC 2018


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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20181002/ad31fdb9/signature-0001.asc>


More information about the hotspot-compiler-dev mailing list