RFR [9] 8153737: Unsupported Module

Chris Hegarty chris.hegarty at oracle.com
Thu Apr 7 17:14:56 UTC 2016

Enough technical debt has been paid down that we can now create the new
JDK-specific module as proposed by JEP 260 [1], named jdk.unsupported.
This module will initially contain, and export, the sun.misc package,
and will eventually export the sun.reflect package too ( once it has
been sanitized ). The jdk.unsupported module will be present in full JRE
and JDK images.


Summary of the changes:

 - Restructure, what remains of, the sources in sun/misc to reflect the
 new modular layout. There are still a few non-Critical APIs in sun.misc
 that will be addressed later.

 - Add dependencies from several JDK modules to jdk.unsupported. All
 dependencies have issues tracking them, and should be removed in 9.

 - The test library in the top-level repo provides a convenience to
 tests to retrieve Unsafe. This has been updated to the "real" internal
 Unsafe, so there are many many tests that require to be updated, mostly
 the @modules tags. ( The Unsafe dependency in the library should
 probably be revisited at some point, as it requires many tests, not
 wishing to use Unsafe, to require an explicit dependency on it )

   Note: with recent work from Mikael [2], sun.misc.Unsafe is now just a
   delegate for the "real" internal Unsafe, so it is time to move the
   tests to use it directly.

 - Cleanup any tests unnecessarily/incorrectly declaring a dependency
 on sun.misc ( this could have been unnecessarily added, been refactored
 out at one point, or the library upon which the tests depends refactored,
 that the dependency is no longer required ). I'm sure further cleanup
 could be done, but this is sufficient for now.

 - A small number of test in hotspot/test/compiler/unsafe, which are
 generated, have been updated, along with the generation script, to
 depend on jdk.unsupported/sun.misc ( they explicitly test the sun.misc
 version )

 All 'core', 'pit', and 'hotspot' testsets have been successfully run on
 Mac, Linux, Windows, and Solaris.


[1] https://bugs.openjdk.java.net/browse/JDK-8132928
[2] https://bugs.openjdk.java.net/browse/JDK-8149159

More information about the core-libs-dev mailing list