< prev index next >

src/os_cpu/solaris_sparc/vm/os_solaris_sparc.cpp

Print this page

        

*** 83,97 **** // Minimum usable stack sizes required to get to user code. Space for // HotSpot guard pages is added later. size_t os::Posix::_compiler_thread_min_stack_allowed = 104 * K; size_t os::Posix::_java_thread_min_stack_allowed = 86 * K; - #ifdef _LP64 size_t os::Posix::_vm_internal_thread_min_stack_allowed = 128 * K; - #else - size_t os::Posix::_vm_internal_thread_min_stack_allowed = 96 * K; - #endif int os::Solaris::max_register_window_saves_before_flushing() { // We should detect this at run time. For now, filling // in with a constant. return 8; --- 83,93 ----
*** 318,332 **** return os::get_sender_for_C_frame(&myframe); } } bool os::is_allocatable(size_t bytes) { - #ifdef _LP64 return true; - #else - return (bytes <= (size_t)3835*M); - #endif } extern "C" JNIEXPORT int JVM_handle_solaris_signal(int sig, siginfo_t* info, void* ucVoid, int abort_if_unrecognized) { --- 314,324 ----
*** 731,819 **** void os::Solaris::init_thread_fpu_state(void) { // Nothing needed on Sparc. } - #if !defined(COMPILER2) && !defined(_LP64) - - // These routines are the initial value of atomic_xchg_entry(), - // atomic_cmpxchg_entry(), atomic_add_entry() and fence_entry() - // until initialization is complete. - // TODO - remove when the VM drops support for V8. - - typedef jint xchg_func_t (jint, volatile jint*); - typedef jint cmpxchg_func_t (jint, volatile jint*, jint); - typedef jlong cmpxchg_long_func_t(jlong, volatile jlong*, jlong); - typedef jint add_func_t (jint, volatile jint*); - - jint os::atomic_xchg_bootstrap(jint exchange_value, volatile jint* dest) { - // try to use the stub: - xchg_func_t* func = CAST_TO_FN_PTR(xchg_func_t*, StubRoutines::atomic_xchg_entry()); - - if (func != NULL) { - os::atomic_xchg_func = func; - return (*func)(exchange_value, dest); - } - assert(Threads::number_of_threads() == 0, "for bootstrap only"); - - jint old_value = *dest; - *dest = exchange_value; - return old_value; - } - - jint os::atomic_cmpxchg_bootstrap(jint exchange_value, volatile jint* dest, jint compare_value) { - // try to use the stub: - cmpxchg_func_t* func = CAST_TO_FN_PTR(cmpxchg_func_t*, StubRoutines::atomic_cmpxchg_entry()); - - if (func != NULL) { - os::atomic_cmpxchg_func = func; - return (*func)(exchange_value, dest, compare_value); - } - assert(Threads::number_of_threads() == 0, "for bootstrap only"); - - jint old_value = *dest; - if (old_value == compare_value) - *dest = exchange_value; - return old_value; - } - - jlong os::atomic_cmpxchg_long_bootstrap(jlong exchange_value, volatile jlong* dest, jlong compare_value) { - // try to use the stub: - cmpxchg_long_func_t* func = CAST_TO_FN_PTR(cmpxchg_long_func_t*, StubRoutines::atomic_cmpxchg_long_entry()); - - if (func != NULL) { - os::atomic_cmpxchg_long_func = func; - return (*func)(exchange_value, dest, compare_value); - } - assert(Threads::number_of_threads() == 0, "for bootstrap only"); - - jlong old_value = *dest; - if (old_value == compare_value) - *dest = exchange_value; - return old_value; - } - - jint os::atomic_add_bootstrap(jint add_value, volatile jint* dest) { - // try to use the stub: - add_func_t* func = CAST_TO_FN_PTR(add_func_t*, StubRoutines::atomic_add_entry()); - - if (func != NULL) { - os::atomic_add_func = func; - return (*func)(add_value, dest); - } - assert(Threads::number_of_threads() == 0, "for bootstrap only"); - - return (*dest) += add_value; - } - - xchg_func_t* os::atomic_xchg_func = os::atomic_xchg_bootstrap; - cmpxchg_func_t* os::atomic_cmpxchg_func = os::atomic_cmpxchg_bootstrap; - cmpxchg_long_func_t* os::atomic_cmpxchg_long_func = os::atomic_cmpxchg_long_bootstrap; - add_func_t* os::atomic_add_func = os::atomic_add_bootstrap; - - #endif // !_LP64 && !COMPILER2 - #if defined(__sparc) && defined(COMPILER2) && defined(_GNU_SOURCE) // See file build/solaris/makefiles/$compiler.make // For compiler1 the architecture is v8 and frps isn't present in v8 extern "C" void _mark_fpu_nosave() { __asm__ __volatile__ ("wr %%g0, 0, %%fprs \n\t" : : :); --- 723,732 ----
< prev index next >