Mercurial > hg > graal-jvmci-8
comparison src/os/linux/vm/os_linux.cpp @ 7994:9fae07c31641
6518907: cleanup IA64 specific code in Hotspot
Summary: removed unused IA64 specific code
Reviewed-by: twisti, kvn, dholmes
author | morris |
---|---|
date | Fri, 25 Jan 2013 16:50:33 -0800 |
parents | 22ba8c8ce6a6 |
children | 5cd2fac2ae70 |
comparison
equal
deleted
inserted
replaced
7993:76341426b645 | 7994:9fae07c31641 |
---|---|
1153 // 4466587: glibc 2.2.x compiled w/o "--enable-kernel=2.4.0" (RH 7.0, | 1153 // 4466587: glibc 2.2.x compiled w/o "--enable-kernel=2.4.0" (RH 7.0, |
1154 // SuSE 7.2, Debian) can not handle alternate signal stack correctly | 1154 // SuSE 7.2, Debian) can not handle alternate signal stack correctly |
1155 // for initial thread if its stack size exceeds 6M. Cap it at 2M, | 1155 // for initial thread if its stack size exceeds 6M. Cap it at 2M, |
1156 // in case other parts in glibc still assumes 2M max stack size. | 1156 // in case other parts in glibc still assumes 2M max stack size. |
1157 // FIXME: alt signal stack is gone, maybe we can relax this constraint? | 1157 // FIXME: alt signal stack is gone, maybe we can relax this constraint? |
1158 #ifndef IA64 | |
1159 if (stack_size > 2 * K * K) stack_size = 2 * K * K; | |
1160 #else | |
1161 // Problem still exists RH7.2 (IA64 anyway) but 2MB is a little small | 1158 // Problem still exists RH7.2 (IA64 anyway) but 2MB is a little small |
1162 if (stack_size > 4 * K * K) stack_size = 4 * K * K; | 1159 if (stack_size > 2 * K * K IA64_ONLY(*2)) |
1163 #endif | 1160 stack_size = 2 * K * K IA64_ONLY(*2); |
1164 | |
1165 // Try to figure out where the stack base (top) is. This is harder. | 1161 // Try to figure out where the stack base (top) is. This is harder. |
1166 // | 1162 // |
1167 // When an application is started, glibc saves the initial stack pointer in | 1163 // When an application is started, glibc saves the initial stack pointer in |
1168 // a global variable "__libc_stack_end", which is then used by system | 1164 // a global variable "__libc_stack_end", which is then used by system |
1169 // libraries. __libc_stack_end should be pretty close to stack top. The | 1165 // libraries. __libc_stack_end should be pretty close to stack top. The |
4365 int os::Linux::safe_cond_timedwait(pthread_cond_t *_cond, pthread_mutex_t *_mutex, const struct timespec *_abstime) | 4361 int os::Linux::safe_cond_timedwait(pthread_cond_t *_cond, pthread_mutex_t *_mutex, const struct timespec *_abstime) |
4366 { | 4362 { |
4367 if (is_NPTL()) { | 4363 if (is_NPTL()) { |
4368 return pthread_cond_timedwait(_cond, _mutex, _abstime); | 4364 return pthread_cond_timedwait(_cond, _mutex, _abstime); |
4369 } else { | 4365 } else { |
4370 #ifndef IA64 | |
4371 // 6292965: LinuxThreads pthread_cond_timedwait() resets FPU control | 4366 // 6292965: LinuxThreads pthread_cond_timedwait() resets FPU control |
4372 // word back to default 64bit precision if condvar is signaled. Java | 4367 // word back to default 64bit precision if condvar is signaled. Java |
4373 // wants 53bit precision. Save and restore current value. | 4368 // wants 53bit precision. Save and restore current value. |
4374 int fpu = get_fpu_control_word(); | 4369 int fpu = get_fpu_control_word(); |
4375 #endif // IA64 | |
4376 int status = pthread_cond_timedwait(_cond, _mutex, _abstime); | 4370 int status = pthread_cond_timedwait(_cond, _mutex, _abstime); |
4377 #ifndef IA64 | |
4378 set_fpu_control_word(fpu); | 4371 set_fpu_control_word(fpu); |
4379 #endif // IA64 | |
4380 return status; | 4372 return status; |
4381 } | 4373 } |
4382 } | 4374 } |
4383 | 4375 |
4384 //////////////////////////////////////////////////////////////////////////////// | 4376 //////////////////////////////////////////////////////////////////////////////// |