JDK-8024281 : Mac OS X: stop relying on Apple's JavaVM Frameworks
  • Type: Bug
  • Status: Open
  • Resolution: Unresolved
  • Component: core-libs
  • Priority: P3
  • Affected Version: 9
  • OS: os_x
  • Submit Date: 2013-09-04
  • Updated Date: 2016-09-16
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 Availabitlity Release.

To download the current JDK release, click here.
Other
tbd_minorUnresolved
Sub Tasks
JDK-7131356 :  
JDK-8042959 :  
Description
While working on JDK-7131356 it came to my attention that we use JavaRuntimeSupport.framework (JRS), which is a special framework provided to us (and only us) by Apple, which wraps certain SPI into API, used by Apple in their JDK implementation.

The problem is that we now own the JDK, and got forced to rely on JRS, which does not seem like a good long term solution.

We should understand where we use JRS and deprecate its usage internally and start re-implementing those with our implementation.

This should be an umbrella bug as there are probably several components that use JSR (ie. Glass, Plugin, AWT, Swing ?)


Comments
Removal of JavaNativeFoundation code could be done as a single task, since most of it involves writing boilerplate JNI code. Removing JavaRuntimeSupport, however, will be a larger task and should be broken up into smaller tasks that focus on specific parts of JRS.
2014-05-12

As alluded to in JDK-8022282, there is a second framework under the JavaVM framework besides JavaRuntimeSupport, it's JavaNativeFoundation. If we also need to move away from JNF, that's another big chunk of code to go through - looks like the majority of jdk/src/macosx/native/ pulls in JavaNativeFoundation.h.
2013-10-10

An issue has already been filed for deployment. There is a non-trivial amount code in JDK that relies on JRS at the moment so such a change won't be easy, but I don't think it will be impossible.
2013-09-09