diff src/os_cpu/linux_x86/vm/os_linux_x86.cpp @ 17739:98af1e198e73

8037226: compiler/7196199/Test7196199.java fails on 32-bit linux with MaxVectorSize > 16 Summary: verify YMM registers after signal processing and set limit on vector's size. Reviewed-by: iveresov, twisti
author kvn
date Fri, 14 Mar 2014 17:28:58 -0700
parents 55fb97c4c58d
children 78bbf4d43a14
line wrap: on
line diff
--- a/src/os_cpu/linux_x86/vm/os_linux_x86.cpp	Mon Mar 17 13:42:16 2014 +0100
+++ b/src/os_cpu/linux_x86/vm/os_linux_x86.cpp	Fri Mar 14 17:28:58 2014 -0700
@@ -337,6 +337,11 @@
       }
     }
 
+    if ((sig == SIGSEGV) && VM_Version::is_cpuinfo_segv_addr(pc)) {
+      // Verify that OS save/restore AVX registers.
+      stub = VM_Version::cpuinfo_cont_addr();
+    }
+
     if (thread->thread_state() == _thread_in_Java) {
       // Java thread running in Java code => find exception handler if any
       // a fault inside compiled code, the interpreter, or a stub