JDK-8078399 : Obsolete -Xoss, -Xsqnopause, -Xoptimize and -Xboundthreads options in JDK 9
  • Type: Bug
  • Component: hotspot
  • Sub-Component: runtime
  • Affected Version: 9
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2015-04-22
  • Updated: 2017-05-17
  • Resolved: 2015-06-25
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 9
9 b74Fixed
Related Reports
Relates :  
Relates :  
Sub Tasks
JDK-8175103 :  
Description
HotSpot contains 4 "-X" options that silently ignored: -Xoss, -Xsqnopause, -Xoptimize, -Xboundthreads. These options can be deprecated and removed in future releases. This will remove 4 "if" tests from very long "if" in Arguments::parse_each_vm_init_arg function in hotspot/src/share/vm/runtime/arguments.cpp module.

Here are description of these options:
"-Xoss", "-Xsqnopause", "-Xoptimize" - EVM option leaved for compatibility.  From Java 2 SDK for Solaris Developer's Guide: "Prior to version 1.3.0, the production releases of the Java 2 SDK for the Solaris Operating Environment shipped with a virtual-machine implementation known as the Exact VM (EVM). Beginning with version 1.3.0, the Exact VM is replaced by the Java HotSpot VM.". So, from Java 1.4 EVM is not used as VM for JDK on Solaris and these very old flags just silently ignored by HotSpot.
"-Xboundthreads" - was used to bind user level threads to kernel threads on Solaris in case when new thread library is not available. But old T1 libthread has been removed from Solaris in release 10. JDK9 requires Solaris 10u9 or higher. So, this flag become useless.

I search these options in sourcecs of several Java projects(I took latest version) and none of these options are mentioned. Here a list of the projects: NetBeans, Jetty, Hadoop, TomCat, GlassFish, Intellij Idea Community Edition, Ant, Maven.

Suggested fix: In JDK 9 print warning that option is deprecated and probably will be removed in future release(similar to the deprecated "-XX" options). E.g. "Java HotSpot(TM) 64-Bit Server VM warning: Option -Xoss was deprecated in version 9.0 and will likely be removed in a future release.".
Comments
These options are Obsolete (ignored + warning issued) not Deprecated (applied + warning issued). Updated bug title and release note text.
21-04-2017

Suggested release note text: The VM Options "-Xoss", "-Xsqnopause", "-Xoptimize" and "-Xboundthreads" are deprecated in JDK 9 and will be removed in JDK 10. The VM Options "-Xoss", "-Xsqnopause", "-Xoptimize" options were silently ignored for a long time. The VM Option "-Xboundthreads" become useless after removing old T1 libthread from Solaris.
29-06-2015