Summary
Deprecate the unstable HotSpot option -XX:SafepointSpinBeforeYield=??.
Problem
The option have no information to user to what it does except "(Unstable)". A user should not try to change this option, hence unstable. The method SafepointSynchronize::begin have become really large and complicated. For future refactoring of this method we should now deprecate this options.
Solution
Deprecate the flag.
Specification
diff -r 7092940fbaff src/hotspot/share/runtime/arguments.cpp
--- a/src/hotspot/share/runtime/arguments.cpp   Wed Nov 15 08:25:28 2017 -0500
+++ b/src/hotspot/share/runtime/arguments.cpp   Wed Nov 15 15:38:43 2017 +0100
@@ -387,2 +387,3 @@
   { "FastTLABRefill",               JDK_Version::jdk(10), JDK_Version::jdk(11), JDK_Version::jdk(12) },
+  { "SafepointSpinBeforeYield",     JDK_Version::jdk(10), JDK_Version::jdk(11), JDK_Version::jdk(12) },
   { "IgnoreUnverifiableClassesDuringDump", JDK_Version::jdk(10),  JDK_Version::undefined(), JDK_Version::undefined() },
diff -r 7092940fbaff src/hotspot/share/runtime/globals.hpp
--- a/src/hotspot/share/runtime/globals.hpp Wed Nov 15 08:25:28 2017 -0500
+++ b/src/hotspot/share/runtime/globals.hpp Wed Nov 15 15:38:43 2017 +0100
@@ -3278,3 +3278,3 @@
                                                                             \
-  product(intx, SafepointSpinBeforeYield, 2000, "(Unstable)")               \
+  product(intx, SafepointSpinBeforeYield, 2000, "(Unstable, Deprecated)")   \
           range(0, max_intx)                                                \- csr of
- 
                    JDK-8191326 Deprecate SafepointSpinBeforeYield -           
- Resolved
 
-