# Friday, 29 January 2010
« Introducing IKVM.Reflection | Main | 0.42 Update 1 RC 1 »
New Development Snapshot

I've modified ikvmc to use IKVM.Reflection and largely rewritten ikvmstub to directly work with the ikvm internals instead of using the java reflection API. Both ikvmc and ikvmstub can now process assemblies independent from the .NET runtime they run on. This opens up the possibility to start investigating the possibility of Silverlight support.

Changes:

  • Drag-n-drop fix by Nat.
  • Fixed regression introduced in previous development snapshot, related to field accessors.
  • Removed caching of inner classes.
  • Fix for bug #2908683.
  • Various AWT fixes by Volker.
  • Changed JNI to use standard caller ID mechanism.
  • Various JNI optimizations.
  • Fixed http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41696
  • Fixed exception sorter bug exposed by recent Mono sorting change.
  • Fixed Thread.getAllStackTraces() to resume threads that it suspends.
  • Integrated new IKVM.Reflection implementation.
  • Added AllowMultiple = true to RemappedClassAttribute.
  • Fixed atomic update helper nested types to be invisible from Java.
  • Removed support for "ikvm.stubgen.serialver" property that is no longer needed now that ikvmstub doesn't use the runtime to generate stubs.
  • Removed pre-generated stub jars from cvs and modified build process to generate them during the build.
  • Removed "constant" instance field support (which was only used by ikvmstub and doesn't make any sense anyway).
  • Removed ReflectionOnly support from runtime. Now that ikvmstub no longer requires it, there's no good reason to allow Java code to see ReflectionOnly types.

Binaries available here: ikvmbin-0.43.3681.zip

Friday, 29 January 2010 09:35:13 (W. Europe Standard Time, UTC+01:00)  #    Comments [1]
Monday, 08 February 2010 09:26:41 (W. Europe Standard Time, UTC+01:00)
Hello,
testing this release I got the following crytical exception compiling saxon9.jar:

****** Critical Failure: Exception during finishing of: net.sf.saxon.functions.S
ystemFunction ******

PLEASE FILE A BUG REPORT FOR IKVM.NET WHEN YOU SEE THIS MESSAGE

System.NotSupportedException: Specified method is not supported.
at IKVM.Reflection.Emit.TypeBuilder.CheckBaked()
at IKVM.Reflection.Emit.TypeBuilder.__GetDeclaredMethods()
at IKVM.Reflection.Type.GetConstructors(BindingFlags bindingAttr)
at IKVM.Reflection.Type.GetConstructor(BindingFlags bindingAttr, Binder binde
r, Type[] types, ParameterModifier[] modifiers)
at IKVM.Internal.Serialization.AddAutomagicSerialization(TypeWrapper wrapper)

at IKVM.Internal.DynamicTypeWrapper.FinishContext.FinishImpl()
at IKVM.Internal.DynamicTypeWrapper.JavaTypeImpl.FinishCore()
at IKVM.Reflection.Emit.TypeBuilder.CheckBaked()
at IKVM.Reflection.Emit.TypeBuilder.__GetDeclaredMethods()
at IKVM.Reflection.Type.GetConstructors(BindingFlags bindingAttr)
at IKVM.Reflection.Type.GetConstructor(BindingFlags bindingAttr, Binder binde
r, Type[] types, ParameterModifier[] modifiers)
at IKVM.Internal.Serialization.AddAutomagicSerialization(TypeWrapper wrapper)

at IKVM.Internal.DynamicTypeWrapper.FinishContext.FinishImpl()
at IKVM.Internal.DynamicTypeWrapper.JavaTypeImpl.FinishCore()

at IKVM.Internal.JVM.CriticalFailure(String message, Exception x)
at IKVM.Internal.DynamicTypeWrapper.JavaTypeImpl.FinishCore()
at IKVM.Internal.DynamicTypeWrapper.JavaTypeImpl.Finish()
at IKVM.Internal.AotTypeWrapper.Finish()
at IKVM.Internal.DynamicTypeWrapper.JavaTypeImpl.Finish()
at IKVM.Internal.AotTypeWrapper.Finish()
at IKVM.Internal.DynamicTypeWrapper.JavaTypeImpl.Finish()
at IKVM.Internal.AotTypeWrapper.Finish()
at IKVM.Internal.CompilerClassLoader.Compile()
at IKVM.Internal.CompilerClassLoader.Compile(String runtimeAssembly, List`1 o
ptionsList)
at IkvmcCompiler.Main(String[] args)

Hope this helps.
Previous betas of 0.43 worked fine (except of rare dropping during runtime...)
Eugene
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