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.
http://cr.openjdk.java.net/~chegar/8153737/
https://bugs.openjdk.java.net/browse/JDK-8153737
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.
-Chris.
[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