698
699 if (!abort_if_unrecognized) {
700 // caller wants another chance, so give it to him
701 return false;
702 }
703
704 if (pc == NULL && uc != NULL) {
705 pc = os::Bsd::ucontext_get_pc(uc);
706 }
707
708 // unmask current signal
709 sigset_t newset;
710 sigemptyset(&newset);
711 sigaddset(&newset, sig);
712 sigprocmask(SIG_UNBLOCK, &newset, NULL);
713
714 VMError err(t, sig, pc, info, ucVoid);
715 err.report_and_die();
716
717 ShouldNotReachHere();
718 }
719
720 // From solaris_i486.s ported to bsd_i486.s
721 extern "C" void fixcw();
722
723 void os::Bsd::init_thread_fpu_state(void) {
724 #ifndef AMD64
725 // Set fpu to 53 bit precision. This happens too early to use a stub.
726 fixcw();
727 #endif // !AMD64
728 }
729
730
731 // Check that the bsd kernel version is 2.4 or higher since earlier
732 // versions do not support SSE without patches.
733 bool os::supports_sse() {
734 return true;
735 }
736
737 bool os::is_allocatable(size_t bytes) {
|
698
699 if (!abort_if_unrecognized) {
700 // caller wants another chance, so give it to him
701 return false;
702 }
703
704 if (pc == NULL && uc != NULL) {
705 pc = os::Bsd::ucontext_get_pc(uc);
706 }
707
708 // unmask current signal
709 sigset_t newset;
710 sigemptyset(&newset);
711 sigaddset(&newset, sig);
712 sigprocmask(SIG_UNBLOCK, &newset, NULL);
713
714 VMError err(t, sig, pc, info, ucVoid);
715 err.report_and_die();
716
717 ShouldNotReachHere();
718 return false;
719 }
720
721 // From solaris_i486.s ported to bsd_i486.s
722 extern "C" void fixcw();
723
724 void os::Bsd::init_thread_fpu_state(void) {
725 #ifndef AMD64
726 // Set fpu to 53 bit precision. This happens too early to use a stub.
727 fixcw();
728 #endif // !AMD64
729 }
730
731
732 // Check that the bsd kernel version is 2.4 or higher since earlier
733 // versions do not support SSE without patches.
734 bool os::supports_sse() {
735 return true;
736 }
737
738 bool os::is_allocatable(size_t bytes) {
|