450 // Disable FP exceptions. 451 __asm__ __volatile__ ("mtfsfi 6,0"); 452 } 453 454 int os::Linux::get_fpu_control_word(void) { 455 // x86 has problems with FPU precision after pthread_cond_timedwait(). 456 // nothing to do on ppc64. 457 return 0; 458 } 459 460 void os::Linux::set_fpu_control_word(int fpu_control) { 461 // x86 has problems with FPU precision after pthread_cond_timedwait(). 462 // nothing to do on ppc64. 463 } 464 465 //////////////////////////////////////////////////////////////////////////////// 466 // thread stack 467 468 size_t os::Linux::min_stack_allowed = 128*K; 469 470 bool os::Linux::supports_variable_stack_size() { return true; } 471 472 // return default stack size for thr_type 473 size_t os::Linux::default_stack_size(os::ThreadType thr_type) { 474 // default stack size (compiler thread needs larger stack) 475 // Notice that the setting for compiler threads here have no impact 476 // because of the strange 'fallback logic' in os::create_thread(). 477 // Better set CompilerThreadStackSize in globals_<os_cpu>.hpp if you want to 478 // specify a different stack size for compiler threads! 479 size_t s = (thr_type == os::compiler_thread ? 4 * M : 1024 * K); 480 return s; 481 } 482 483 size_t os::Linux::default_guard_size(os::ThreadType thr_type) { 484 return 2 * page_size(); 485 } 486 487 // Java thread: 488 // 489 // Low memory addresses 490 // +------------------------+ 491 // | |\ JavaThread created by VM does not have glibc | 450 // Disable FP exceptions. 451 __asm__ __volatile__ ("mtfsfi 6,0"); 452 } 453 454 int os::Linux::get_fpu_control_word(void) { 455 // x86 has problems with FPU precision after pthread_cond_timedwait(). 456 // nothing to do on ppc64. 457 return 0; 458 } 459 460 void os::Linux::set_fpu_control_word(int fpu_control) { 461 // x86 has problems with FPU precision after pthread_cond_timedwait(). 462 // nothing to do on ppc64. 463 } 464 465 //////////////////////////////////////////////////////////////////////////////// 466 // thread stack 467 468 size_t os::Linux::min_stack_allowed = 128*K; 469 470 // return default stack size for thr_type 471 size_t os::Linux::default_stack_size(os::ThreadType thr_type) { 472 // default stack size (compiler thread needs larger stack) 473 // Notice that the setting for compiler threads here have no impact 474 // because of the strange 'fallback logic' in os::create_thread(). 475 // Better set CompilerThreadStackSize in globals_<os_cpu>.hpp if you want to 476 // specify a different stack size for compiler threads! 477 size_t s = (thr_type == os::compiler_thread ? 4 * M : 1024 * K); 478 return s; 479 } 480 481 size_t os::Linux::default_guard_size(os::ThreadType thr_type) { 482 return 2 * page_size(); 483 } 484 485 // Java thread: 486 // 487 // Low memory addresses 488 // +------------------------+ 489 // | |\ JavaThread created by VM does not have glibc |