A major step in integrating OpenJDK code. One of the bottlenecks was the fact that currently OpenJDK is missing most of the crypto code, but thanks to the IcedTea project I've been able to integrate the OpenJDK java.security package and packages that depend on the crypto code (like java.net). I've also rewritten all socket implementation classes (both classic and nio) based on the OpenJDK code. FileChannelImpl and the direct and mapped byte buffers still need to be converted.
Some of the integrated packages don't have any back-end implementation (e.g. smartcardio and jgss). I'm not likely to implement smartcard support and will revisit the security and crypto stuff once Sun releases the crypto code.
Disclaimers apply. I haven't done a full test pass on this build.
- OpenJDK: Added support for "loading" fake native libraries from VFS and removed hack to bypass loadLibrary() call in System.initializeSystemClass().
- OpenJDK: Integrated OpenJDK packages: java.net, java.security, java.util.jar, javax.naming, javax.net, javax.security, javax.smartcardio, java.nio.charset, java.nio.channels, java.nio.channels.spi
- OpenJDK: Integrated IcedTea crypto/security classes.
- OpenJDK: Fixed a race condition in Thread.interrupt().
- Allow Object to be cast/assigned to ghost array. Fix for bug 1757889.
- Fixed assembly annotation support (bug 1721688).
- Added ikvmc warning when annotation type isn't found.
- Added WINDOWS constant to ikvm.internal.Util to check if we're running on Windows.
Binaries available here: ikvmbin-hybrid-0.35.2763.zip.