# Thursday, 20 September 2007
« Two Useful Tools for IKVM.NET | Main | IKVM 0.36 rc4 »
IKVM 0.36 rc3

This is probably the last release candiate before the official 0.36 release.


  • Fixed non-blocking nio socket send of zero bytes to not return -1.
  • Fixed nio Selector.wakeup() race condition.
  • Added checks for code that uses reflection to call ClassLoader.defineClass() on the assembly class loader for ikvmc compiled classes to throw IllegalAccessError when the class tries to extend a non-public base class (instead of dying with a Critical Failure).
  • Fixed bug in the handling of Java annotations applied in .NET code (via the corresponding ikvmc generated attributes).
  • Significantly improved performance of Class.getModifiers().

Binaries available here: ikvmbin-

Sources (+ binaries): ikvm-

External sources (haven't changed since rc1): classpath-0.95-stripped.zip, openjdk-b13-stripped.zip

Thursday, 20 September 2007 15:55:12 (W. Europe Daylight Time, UTC+02:00)  #    Comments [1]
Friday, 21 September 2007 17:02:45 (W. Europe Daylight Time, UTC+02:00)
Have you considered splitting up the class library into multiple assemblies? I know that Java by default doesn't do much of this (jce.jar and jsse.jar notwithstanding, the vast majority of the class library is in rt.jar) but that seems to be more of a historical decision with backward-compatibility implications, than the best technical choice for a VM that doesn't have an rt.jar at all :)

My own interest in this is that as I mentioned in my own blog, the file size of IKVM/OpenJDK is an issue for me. In my case I'm using an ikvmc-compiled dll, all of the code of which is written by myself, with no dynamic loading of code, so I can say with assurance that it only makes use of a small part of the JDK API (lang/util/io/sql, with my own minimalist jdbc driver written in C#). It'd be nice to be able to include only the necessary parts of the Java class library in my installer that runs this.
Home page

I apologize for the lameness of this, but the comment spam was driving me nuts. In order to be able to post a comment, you need to answer a simple question. Hopefully this question is easy enough not to annoy serious commenters, but hard enough to keep the spammers away.

Anti-Spam Question: What method on java.lang.System returns an object's original hashcode (i.e. the one that would be returned by java.lang.Object.hashCode() if it wasn't overridden)? (case is significant)

Comment (HTML not allowed)  

Live Comment Preview