RFR: JDK-8172670: AOT Platform Support for Windows and Mac OS X x64 (Linux and Solaris too)

Bob Vandette bob.vandette at oracle.com
Wed Feb 8 19:29:19 UTC 2017


Please review the following set of changes that adds Ahead-of-time compilation support for Mac OSX and 
Windows x64 in JDK 10.  Linux and Solaris x64 AOT support has also been updated to be consistent with 
the new 100% Java based binary container support included in this changeset.

This change also removes the build and runtime dependency on the external libelf library and header files.

Once this change is integrated Ahead of time support will be available for the following set of Platforms:

- Linux x64
- Windows x64
- MacOSX x64
- Solaris x64


https://bugs.openjdk.java.net/browse/JDK-8172670 <https://bugs.openjdk.java.net/browse/JDK-8172670>







Full Hotspot Webrev:
http://cr.openjdk.java.net/~bobv/8172670/hotspot/webrev.01/ <http://cr.openjdk.java.net/~bobv/8172670/hotspot/webrev.01/>

If you’d prefer to review things in smaller chunks, here are the hotspot changes for Linux and
Solaris including the libelf removal:
http://cr.openjdk.java.net/~bobv/8172670/hotspot/webrev-linux.01/ <http://cr.openjdk.java.net/~bobv/8172670/hotspot/webrev-linux.01/>

Files added to support Mac OSX:
http://cr.openjdk.java.net/~bobv/8172670/hotspot/webrev-mac.01/ <http://cr.openjdk.java.net/~bobv/8172670/hotspot/webrev-mac.01/>

Files added to provide Windows support:
http://cr.openjdk.java.net/~bobv/8172670/hotspot/webrev-win.01/ <http://cr.openjdk.java.net/~bobv/8172670/hotspot/webrev-win.01/>

Changes to the jtreg tests for AOT:
http://cr.openjdk.java.net/~bobv/8172670/hotspot/webrev-test.01/ <http://cr.openjdk.java.net/~bobv/8172670/hotspot/webrev-test.01/>


1. JPRT has been run and passes with these changes
2. jtreg AOT tests pass on all supported platforms
3. AOT compiling of java.base completes and can run basic Java programs on all supported platforms


1. Although these test run correctly on Windows, jtreg AOT tests have been temporarily disabled for this platform.
This is due to an internal JPRT system configuration issue which will hopefully get resolved soon.  AOT requires 
access to a local toolchain and our JPRT systems do not regularly install Visual Studio.


More information about the build-dev mailing list