A new release candidate based on GNU Classpath 0.90 (the successor to 0.20). IKVM.GNU.Classpath.dll grew by more than a megabyte. A big part of this is due to the new crypto implementation that was merged into GNU Classpath. This a great improvement!
Updated japi results are available here.
- Integrated GNU Classpath 0.90
- Updated classpath.security with new security providers
- Added "Windows Vista" as a possible value of os.name system property
- Included VMObjectInputStream.currentClassLoader() fix from Classpath version
- Fixed Float.toString() bug (1E8 would be converted to "1E+08.0" instead of "1.0E8")
- Made some VMThread members package accessible to avoid accessor methods
- Added copyright banners to executables (when run without command line arguments or with the -version option)
- Added "-showversion" option to ikvm.exe
- Fixed ikvmstub to use IKVM.Runtime.Util.GetClassFromTypeHandle() instead of IKVM.Runtime.Util.GetFriendlyClassFromType(), because that would cause problems on remapped types in mscorlib.
- Fixed support for dynamically instantiating a class that was not loadable at method compilation time.
- Added support for running interface static initializer when accessing a final field.
- Moved most .NET resource reading code from IKVM.GNU.Classpath to IKVM.Runtime, to make it easier to use new resource and compression APIs on Whidbey.
- Introduced ikvm.io.InputStreamWrapper (wraps a java.io.InputStream around a System.IO.Stream).
- Removed undocumented -manifestResources ikvmc option. When compiled for Whidbey, resources are now always stored as manifest resources.
- When compiled for Whidbey, resources are now compressed using DeflateStream instead of custom compression.
- Changed SoftReference never to be cleared, since there is no reliable way to detect low memory and clearing them too eagerly breaks Eclipse.
- Fixed ikvmstub to also export implemented interfaces that are non-public.
- Split off dynamic class loading support from ClassLoaderWrapper.cs into new DynamicClassLoader.cs.
- Moved static compiler support from vm.cs to new file CompilerClassLoader.cs.
- Fixed CompiledTypeWrapper and DotNetTypeWrapper to finish base class and interfaces in their Finish method.
Files are available here: ikvm-0.26.0.0.zip (sources + binaries), ikvmbin-0.26.0.0.zip (binaries), ikvmbin-generics-0.26.0.0.zip (binaries built from generics branch)