src/os/linux/vm/os_linux.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File 6518907 Cdiff src/os/linux/vm/os_linux.cpp

src/os/linux/vm/os_linux.cpp

Print this page

        

*** 1172,1188 **** // 4466587: glibc 2.2.x compiled w/o "--enable-kernel=2.4.0" (RH 7.0, // SuSE 7.2, Debian) can not handle alternate signal stack correctly // for initial thread if its stack size exceeds 6M. Cap it at 2M, // in case other parts in glibc still assumes 2M max stack size. // FIXME: alt signal stack is gone, maybe we can relax this constraint? - #ifndef IA64 - if (stack_size > 2 * K * K) stack_size = 2 * K * K; - #else // Problem still exists RH7.2 (IA64 anyway) but 2MB is a little small ! if (stack_size > 4 * K * K) stack_size = 4 * K * K; ! #endif ! // Try to figure out where the stack base (top) is. This is harder. // // When an application is started, glibc saves the initial stack pointer in // a global variable "__libc_stack_end", which is then used by system // libraries. __libc_stack_end should be pretty close to stack top. The --- 1172,1184 ---- // 4466587: glibc 2.2.x compiled w/o "--enable-kernel=2.4.0" (RH 7.0, // SuSE 7.2, Debian) can not handle alternate signal stack correctly // for initial thread if its stack size exceeds 6M. Cap it at 2M, // in case other parts in glibc still assumes 2M max stack size. // FIXME: alt signal stack is gone, maybe we can relax this constraint? // Problem still exists RH7.2 (IA64 anyway) but 2MB is a little small ! if (stack_size > 2 * K * K IA64_ONLY(*2)) ! stack_size = 2 * K * K IA64_ONLY(*2); // Try to figure out where the stack base (top) is. This is harder. // // When an application is started, glibc saves the initial stack pointer in // a global variable "__libc_stack_end", which is then used by system // libraries. __libc_stack_end should be pretty close to stack top. The
*** 4387,4406 **** int os::Linux::safe_cond_timedwait(pthread_cond_t *_cond, pthread_mutex_t *_mutex, const struct timespec *_abstime) { if (is_NPTL()) { return pthread_cond_timedwait(_cond, _mutex, _abstime); } else { - #ifndef IA64 // 6292965: LinuxThreads pthread_cond_timedwait() resets FPU control // word back to default 64bit precision if condvar is signaled. Java // wants 53bit precision. Save and restore current value. int fpu = get_fpu_control_word(); - #endif // IA64 int status = pthread_cond_timedwait(_cond, _mutex, _abstime); - #ifndef IA64 set_fpu_control_word(fpu); - #endif // IA64 return status; } } //////////////////////////////////////////////////////////////////////////////// --- 4383,4398 ----
src/os/linux/vm/os_linux.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File