RFR 8148187 : Remove OS X-specific com.apple.concurrent package

Brent Christian brent.christian at oracle.com
Tue Mar 1 21:16:47 UTC 2016


A number of internal APIs were carried over into the JDK with the Apple 
port.  Among them was com.apple.concurrent.Dispatch.

Supportedness has always been murky here, but Jigsaw necessitates a 
firmer stance.  Some of these APIs have already been removed from JDK 9 
[1], some will be supplanted by new, supported APIs [2].

As already discussed in [3] and [4], com.apple.concurrent.Dispatch is no 
longer in use, as far as we've been able to find. 
com.apple.concurrent.Dispatch and its supporting code should be removed 
from JDK 9.

It turns out this opens the door for a little module pruning as well. 
com.applet.concurrent makes up the bulk of the jdk.deploy.osx module. 
All that's left is native code for libosx, a library relied on by 
com.apple.eio.FileManager in the java.desktop module.  By moving libosx 
over to java.desktop, we are able to do away with the jdk.deploy.osx 
module altogether.

For your review is a webrev of this change:

JBS: https://bugs.openjdk.java.net/browse/JDK-8148187

Automated build+test runs look fine.

If, in the future, there is desire for an ExecutorService backed by the 
native platform (as com.apple.concurrent.Dispatch does for libdispatch 
on OS X), such a feature could be proposed.


1. "Remove apple script engine code in jdk repository"

2. JEP 272 : "Platform-Specific Desktop Features"



More information about the core-libs-dev mailing list