# Friday, August 31, 2012
« New Development Snapshot | Main | IKVM.NET 7.2 Release Candidate 0 »
New Development Snapshot

I've integrated OpenJDK 7u6. The 7u7 security update is not included (as IKVM.NET is not suitable for running untrusted Java code anyway).

One divergence from 7u6 of note is that the new string hashing (used to protect against DoS attacks by intentionally causing hash collisions) has not been implemented. Instead the .NET String.GetHashCode() method is used for the alternative hash code. If DoS protection is required, .NET 4.5 should be used and randomized string hashing should be enabled.

Next stop the release candidate.


  • Merged OpenJDK 7u6 b24.
  • Add support for running with headless awt toolkit. Fix for #3552089.
  • Fix a ClassCastException in printerJob.defaultPage() if the default paper format is not a standard paper format. This can occur with label printer.
  • Stop using ConstructorBuilder (always use MethodBuilder).
  • Remove usage of AssemblyName.ReferenceMatchesDefinition() because it is broken on .NET and not implemented on Mono.
  • Apply custom attribute annotations on annotation types to the corresponding custom attribute that is generated (and allow AttributeUsageAttribute to override the default AttributeUsageAttribute generated from the @Target annotation).
  • Fixed InternalsVisibleToAttribute handling to take the public key into account as well.
  • Win32 print service fixes.
  • Optimized String.valueOf(char).
  • Add app.config files for executables to allow them to run on .NET 4.5 on Windows 8 without triggering the .NET 3.5 auto download.
  • Fix Window.setIconImages(). Now all images are used. Before only the first image was used.
  • Disallow Unsafe.getUnsafe() from being called via reflection (for JDK compatibility).
  • Merged in security manager check to Font.createFont(int, File) from OpenJDK.
  • IKVM.Reflection: Bug fix. When enumerating virtual methods, we should only skip match actual base methods, not any method with the same signature.
  • IKVM.Reflection: Automatically add default constructor when necessary (using the same criteria as Ref.Emit).
  • IKVM.Reflection: Added API extension to wrap MethodInfo in a ConstructorInfo.

Binaries available here: ikvmbin-7.2.4626.zip

The stripped OpenJDK 7u6 b24 sources are available here: openjdk-7u6-b24-stripped.zip

Friday, August 31, 2012 1:43:50 PM (W. Europe Daylight Time, UTC+02:00)  #    Comments [0]
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