Mercurial > hg > truffle
comparison src/os_cpu/solaris_x86/vm/os_solaris_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 | 7d28f4e15b61 |
children | 52b4284cb496 |
comparison
equal
deleted
inserted
replaced
17737:0d2ce7411240 | 17739:98af1e198e73 |
---|---|
455 // Fatal red zone violation. Disable the guard pages and fall through | 455 // Fatal red zone violation. Disable the guard pages and fall through |
456 // to handle_unexpected_exception way down below. | 456 // to handle_unexpected_exception way down below. |
457 thread->disable_stack_red_zone(); | 457 thread->disable_stack_red_zone(); |
458 tty->print_raw_cr("An irrecoverable stack overflow has occurred."); | 458 tty->print_raw_cr("An irrecoverable stack overflow has occurred."); |
459 } | 459 } |
460 } | |
461 | |
462 if ((sig == SIGSEGV) && VM_Version::is_cpuinfo_segv_addr(pc)) { | |
463 // Verify that OS save/restore AVX registers. | |
464 stub = VM_Version::cpuinfo_cont_addr(); | |
460 } | 465 } |
461 | 466 |
462 if (thread->thread_state() == _thread_in_vm) { | 467 if (thread->thread_state() == _thread_in_vm) { |
463 if (sig == SIGBUS && info->si_code == BUS_OBJERR && thread->doing_unsafe_access()) { | 468 if (sig == SIGBUS && info->si_code == BUS_OBJERR && thread->doing_unsafe_access()) { |
464 stub = StubRoutines::handler_for_unsafe_access(); | 469 stub = StubRoutines::handler_for_unsafe_access(); |