diff src/cpu/x86/vm/vm_version_x86.cpp @ 7638:522c328b8b77

8003878: compiler/7196199 test failed on OS X since 8b54, jdk7u12b01 Summary: Limit vectors size to 16 bytes on BSD until the problem is fixed Reviewed-by: twisti
author kvn
date Wed, 23 Jan 2013 15:11:03 -0800
parents 92d4b5d8dde4
children 3ac7d10a6572 b800986664f4
line wrap: on
line diff
--- a/src/cpu/x86/vm/vm_version_x86.cpp	Tue Jan 22 15:34:16 2013 -0800
+++ b/src/cpu/x86/vm/vm_version_x86.cpp	Wed Jan 23 15:11:03 2013 -0800
@@ -661,6 +661,14 @@
       }
     }
   }
+#if defined(COMPILER2) && defined(_ALLBSD_SOURCE)
+    if (MaxVectorSize > 16) {
+      // Limit vectors size to 16 bytes on BSD until it fixes
+      // restoring upper 128bit of YMM registers on return
+      // from signal handler.
+      FLAG_SET_DEFAULT(MaxVectorSize, 16);
+    }
+#endif // COMPILER2
 
   // Use population count instruction if available.
   if (supports_popcnt()) {