JDK-8191330 : Deprecate SafepointSpinBeforeYield and start removal
  • Type: CSR
  • Component: hotspot
  • Sub-Component: runtime
  • Priority: P4
  • Status: Closed
  • Resolution: Approved
  • Fix Versions: 10
  • Submitted: 2017-11-15
  • Updated: 2017-11-21
  • Resolved: 2017-11-16
Related Reports
CSR :  
Description
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)                                                \



Comments
Presumably the release note intended in JDK-8191423 will cover all the related options being deprecated. Moving to approved.
16-11-2017

I assume that a release note will be created for this.
16-11-2017