diff src/os/windows/vm/os_windows.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 cdb71841f4bc
children 0118c8c7b80f
line wrap: on
line diff
--- a/src/os/windows/vm/os_windows.cpp	Mon Mar 17 13:42:16 2014 +0100
+++ b/src/os/windows/vm/os_windows.cpp	Fri Mar 14 17:28:58 2014 -0700
@@ -2437,6 +2437,12 @@
     }
   }
 
+  if ((exception_code == EXCEPTION_ACCESS_VIOLATION) &&
+      VM_Version::is_cpuinfo_segv_addr(pc)) {
+    // Verify that OS save/restore AVX registers.
+    return Handle_Exception(exceptionInfo, VM_Version::cpuinfo_cont_addr());
+  }
+
   if (t != NULL && t->is_Java_thread()) {
     JavaThread* thread = (JavaThread*) t;
     bool in_java = thread->thread_state() == _thread_in_Java;