# 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.

Changes:

  • 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.
Cheers,
Martin
Martin
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?
Cheers,
Martin
Martin
Monday, 31 October 2011 15:38:57 (W. Europe Standard Time, UTC+01:00)
Unfortunately it's a manual process.
Name
E-mail
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)

Answer:  
Comment (HTML not allowed)  

Live Comment Preview