< prev index next >

src/os_cpu/linux_x86/vm/os_linux_x86.cpp

Print this page




 529 
 530   if (!abort_if_unrecognized) {
 531     // caller wants another chance, so give it to him
 532     return false;
 533   }
 534 
 535   if (pc == NULL && uc != NULL) {
 536     pc = os::Linux::ucontext_get_pc(uc);
 537   }
 538 
 539   // unmask current signal
 540   sigset_t newset;
 541   sigemptyset(&newset);
 542   sigaddset(&newset, sig);
 543   sigprocmask(SIG_UNBLOCK, &newset, NULL);
 544 
 545   VMError err(t, sig, pc, info, ucVoid);
 546   err.report_and_die();
 547 
 548   ShouldNotReachHere();
 549   return true; // Mute compiler
 550 }
 551 
 552 void os::Linux::init_thread_fpu_state(void) {
 553 #ifndef AMD64
 554   // set fpu to 53 bit precision
 555   set_fpu_control_word(0x27f);
 556 #endif // !AMD64
 557 }
 558 
 559 int os::Linux::get_fpu_control_word(void) {
 560 #ifdef AMD64
 561   return 0;
 562 #else
 563   int fpu_control;
 564   _FPU_GETCW(fpu_control);
 565   return fpu_control & 0xffff;
 566 #endif // AMD64
 567 }
 568 
 569 void os::Linux::set_fpu_control_word(int fpu_control) {




 529 
 530   if (!abort_if_unrecognized) {
 531     // caller wants another chance, so give it to him
 532     return false;
 533   }
 534 
 535   if (pc == NULL && uc != NULL) {
 536     pc = os::Linux::ucontext_get_pc(uc);
 537   }
 538 
 539   // unmask current signal
 540   sigset_t newset;
 541   sigemptyset(&newset);
 542   sigaddset(&newset, sig);
 543   sigprocmask(SIG_UNBLOCK, &newset, NULL);
 544 
 545   VMError err(t, sig, pc, info, ucVoid);
 546   err.report_and_die();
 547 
 548   ShouldNotReachHere();

 549 }
 550 
 551 void os::Linux::init_thread_fpu_state(void) {
 552 #ifndef AMD64
 553   // set fpu to 53 bit precision
 554   set_fpu_control_word(0x27f);
 555 #endif // !AMD64
 556 }
 557 
 558 int os::Linux::get_fpu_control_word(void) {
 559 #ifdef AMD64
 560   return 0;
 561 #else
 562   int fpu_control;
 563   _FPU_GETCW(fpu_control);
 564   return fpu_control & 0xffff;
 565 #endif // AMD64
 566 }
 567 
 568 void os::Linux::set_fpu_control_word(int fpu_control) {


< prev index next >