--- old/src/os/solaris/vm/os_share_solaris.hpp 2017-06-08 14:46:39.026996522 +0200 +++ new/src/os/solaris/vm/os_share_solaris.hpp 2017-06-08 14:46:38.850996528 +0200 @@ -37,14 +37,6 @@ void continue_with_dump(void); #endif -#if defined(__sparc) && defined(COMPILER2) -// For Sun Studio compiler implementation is in file -// src/os_cpu/solaris_sparc/vm/solaris_sparc.il -// For gcc implementation is in file -// src/os_cpu/solaris_sparc/vm/os_solaris_sparc.cpp -extern "C" void _mark_fpu_nosave() ; -#endif - #define PROCFILE_LENGTH 128 #endif // OS_SOLARIS_VM_OS_SHARE_SOLARIS_HPP --- old/src/os/solaris/vm/os_solaris.cpp 2017-06-08 14:46:39.850996493 +0200 +++ new/src/os/solaris/vm/os_solaris.cpp 2017-06-08 14:46:39.690996498 +0200 @@ -5103,11 +5103,6 @@ if (v == 0) { // Do this the hard way by blocking ... // See http://monaco.sfbay/detail.jsf?cr=5094058. - // TODO-FIXME: for Solaris SPARC set fprs.FEF=0 prior to parking. - // Only for SPARC >= V8PlusA -#if defined(__sparc) && defined(COMPILER2) - if (ClearFPUAtPark) { _mark_fpu_nosave(); } -#endif int status = os::Solaris::mutex_lock(_mutex); assert_status(status == 0, status, "mutex_lock"); guarantee(_nParked == 0, "invariant"); @@ -5150,11 +5145,6 @@ compute_abstime(&abst, millis); // See http://monaco.sfbay/detail.jsf?cr=5094058. - // For Solaris SPARC set fprs.FEF=0 prior to parking. - // Only for SPARC >= V8PlusA -#if defined(__sparc) && defined(COMPILER2) - if (ClearFPUAtPark) { _mark_fpu_nosave(); } -#endif int status = os::Solaris::mutex_lock(_mutex); assert_status(status == 0, status, "mutex_lock"); guarantee(_nParked == 0, "invariant"); @@ -5347,12 +5337,6 @@ // Do this the hard way by blocking ... // See http://monaco.sfbay/detail.jsf?cr=5094058. - // TODO-FIXME: for Solaris SPARC set fprs.FEF=0 prior to parking. - // Only for SPARC >= V8PlusA -#if defined(__sparc) && defined(COMPILER2) - if (ClearFPUAtPark) { _mark_fpu_nosave(); } -#endif - if (time == 0) { status = os::Solaris::cond_wait(_cond, _mutex); } else { --- old/src/os_cpu/solaris_sparc/vm/os_solaris_sparc.cpp 2017-06-08 14:46:40.766996461 +0200 +++ new/src/os_cpu/solaris_sparc/vm/os_solaris_sparc.cpp 2017-06-08 14:46:40.570996468 +0200 @@ -725,14 +725,6 @@ // Nothing needed on Sparc. } -#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" : : :); - } -#endif //defined(__sparc) && defined(COMPILER2) - #ifndef PRODUCT void os::verify_stack_alignment() { } --- old/src/os_cpu/solaris_sparc/vm/solaris_sparc.il 2017-06-08 14:46:41.662996430 +0200 +++ new/src/os_cpu/solaris_sparc/vm/solaris_sparc.il 2017-06-08 14:46:41.454996437 +0200 @@ -32,17 +32,6 @@ .end - // Clear SPARC fprs.FEF DU and DL bits -- - // allows the kernel to avoid saving FPU state at context-switch time. - // Use for state-transition points (into _thread_blocked) or when - // parking. - - .inline _mark_fpu_nosave, 0 - .volatile - wr %g0, 0, %fprs - .nonvolatile - .end - // Support for jint Atomic::xchg(jint exchange_value, volatile jint* dest). // // Arguments: --- old/src/share/vm/runtime/globals.hpp 2017-06-08 14:46:42.534996399 +0200 +++ new/src/share/vm/runtime/globals.hpp 2017-06-08 14:46:42.314996407 +0200 @@ -1191,8 +1191,6 @@ \ diagnostic(bool, InlineNotify, true, "intrinsify subset of notify") \ \ - experimental(intx, ClearFPUAtPark, 0, "(Unsafe, Unstable)") \ - \ experimental(intx, hashCode, 5, \ "(Unstable) select hashCode generation algorithm") \ \