Summary
-------
Deprecate -XX:+/-MonitorInUseLists option.
Problem
-------
-XX:+/-MonitorInUseLists controls whether or not thread-local monitor lists should be used vs. global monitor lists. It is purely a guard for a new code path. Thread-local monitor lists are more efficient to inflate, deflate and iterate over. It potentially leads to more monitors in circulation. The code has been around since JDK8, has been enabled by default in JDK9. It should be deprecated in JDK10.
Solution
--------
Mark the MonitorInUseLists as deprecated in JDK10.
Specification
-------------
diff --git a/src/share/vm/runtime/arguments.cpp b/src/share/vm/runtime/arguments.cpp
--- a/src/share/vm/runtime/arguments.cpp
+++ b/src/share/vm/runtime/arguments.cpp
@@ -376,6 +376,7 @@
// --- Non-alias flags - sorted by obsolete_in then expired_in:
{ "MaxGCMinorPauseMillis", JDK_Version::jdk(8), JDK_Version::undefined(), JDK_Version::undefined() },
{ "UseConcMarkSweepGC", JDK_Version::jdk(9), JDK_Version::undefined(), JDK_Version::undefined() },
+ { "MonitorInUseLists", JDK_Version::jdk(10),JDK_Version::undefined(), JDK_Version::undefined() },
// --- Deprecated alias flags (see also aliased_jvm_flags) - sorted by obsolete_in then expired_in:
{ "DefaultMaxRAMFraction", JDK_Version::jdk(8), JDK_Version::undefined(), JDK_Version::undefined() },