# Monday, 31 October 2011
« Windows Runtime (aka WinRT) Thoughts | Main | Java Method Overriding Is FUBAR Part 1 o... »
New Development Snapshot

Fixed the remaining known OpenJDK 7 issues, apart from method overriding, which finally made it into the JVM spec (section 5.4.5), but it's not clear yet what the actual behavior should be. It's a little ridiculous, but almost 16 years after the release of Java 1.0 a fundamental part of the JVM is still poorly documented and implemented.


  • Added ikvmc -platform:arm and -platform:anycpu32bitpreferred options.
  • Bug fix. Make sure sun.misc.Launcher is initialized before setting a security manager, because Launcher assumes there is no security manager yet.
  • Added ikvmstub -forwarders option to support ".NET Core profile" assemblies.
  • Implemented com.sun.security.auth.module.NTSystem.getCurrent().
  • Fixed Throwable.fillInStackTrace() to respect non-writeable stack trace.
  • Fixed Throwable deserialization issues introduced with OpenJDK 7.
  • Fixed Throwable.getSuppressed() to return a global empty array (OpenJDK tests depend on that).
  • Fixed java.lang.ProcessImpl pipe to flush writes.
  • Fixed java.lang.ProcessImpl.openForAtomicAppend() to actually use atomic append.
  • Fixed java.lang.ProcessImpl to clear out the existing environment variables when an envblock is specified.
  • Implemented java.lang.ProcessImpl redirectErrorStream for case where stdout is not also redirected.
  • Fixed core library build issue. java.lang.AutoCloseable.close() method may be used before it has been linked.
  • Bug fix. When calling a final method on a remapped type we can't call the instance method in the remapped type, but we have to call the instancehelper instead.
  • Starting with class file version 51 the <clinit> methods need to be static.
  • Added java.nio.file security manager checks.
  • Added workaround for another x64 JIT bug.
  • IKVM.Reflection: Added .NET 4.5 metadata enum values.
  • IKVM.Reflection: Added support for PortableExecutableKinds.Preferred32Bit.
  • IKVM.Reflection: Added support for process architecture in assembly flags.

Binaries available here: ikvmbin-7.0.4321.zip

Monday, 31 October 2011 12:01:05 (W. Europe Standard Time, UTC+01:00)  #    Comments [4]
Monday, 31 October 2011 14:21:28 (W. Europe Standard Time, UTC+01:00)
Great work as usual!
Btw: I noticed that the OpenJDK THIRD_PARTY_README is not updated since the change version 7.
Monday, 31 October 2011 14:29:41 (W. Europe Standard Time, UTC+01:00)
Thank you! I did indeed forget to update that.
Monday, 31 October 2011 15:07:27 (W. Europe Standard Time, UTC+01:00)
While I have you on the hook... I was wondering how the stripped source openjdk is assembled, the latest one I have isopenjdk7-b147. Do you have an automated system? Is it checked into sourceforge somewhere?
Monday, 31 October 2011 15:38:57 (W. Europe Standard Time, UTC+01:00)
Unfortunately it's a manual process.
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