src/os_cpu/solaris_sparc/vm/os_solaris_sparc.cpp

Print this page




 757 
 758 xchg_func_t*         os::atomic_xchg_func         = os::atomic_xchg_bootstrap;
 759 cmpxchg_func_t*      os::atomic_cmpxchg_func      = os::atomic_cmpxchg_bootstrap;
 760 cmpxchg_long_func_t* os::atomic_cmpxchg_long_func = os::atomic_cmpxchg_long_bootstrap;
 761 add_func_t*          os::atomic_add_func          = os::atomic_add_bootstrap;
 762 
 763 #endif // !_LP64 && !COMPILER2
 764 
 765 #if defined(__sparc) && defined(COMPILER2) && defined(_GNU_SOURCE)
 766  // See file build/solaris/makefiles/$compiler.make
 767  // For compiler1 the architecture is v8 and frps isn't present in v8
 768  extern "C"  void _mark_fpu_nosave() {
 769    __asm__ __volatile__ ("wr %%g0, 0, %%fprs \n\t" : : :);
 770   }
 771 #endif //defined(__sparc) && defined(COMPILER2)
 772 
 773 #ifndef PRODUCT
 774 void os::verify_stack_alignment() {
 775 }
 776 #endif







 757 
 758 xchg_func_t*         os::atomic_xchg_func         = os::atomic_xchg_bootstrap;
 759 cmpxchg_func_t*      os::atomic_cmpxchg_func      = os::atomic_cmpxchg_bootstrap;
 760 cmpxchg_long_func_t* os::atomic_cmpxchg_long_func = os::atomic_cmpxchg_long_bootstrap;
 761 add_func_t*          os::atomic_add_func          = os::atomic_add_bootstrap;
 762 
 763 #endif // !_LP64 && !COMPILER2
 764 
 765 #if defined(__sparc) && defined(COMPILER2) && defined(_GNU_SOURCE)
 766  // See file build/solaris/makefiles/$compiler.make
 767  // For compiler1 the architecture is v8 and frps isn't present in v8
 768  extern "C"  void _mark_fpu_nosave() {
 769    __asm__ __volatile__ ("wr %%g0, 0, %%fprs \n\t" : : :);
 770   }
 771 #endif //defined(__sparc) && defined(COMPILER2)
 772 
 773 #ifndef PRODUCT
 774 void os::verify_stack_alignment() {
 775 }
 776 #endif
 777 
 778 int os::extra_bang_size_in_bytes() {
 779   // SPARC does not require an additional stack bang.
 780   return 0;
 781 }