I made a new snapshot that will become the 0.12 release if no showstoppers are found. Based on the Eclipse inlining mess I decided to measure how much of a performance hit it is to disable inlining for all non-leaf methods and I found it to be very small for the benchmarks I tried. This combined with the fact that inlining would need to be disabled (for many methods) in the future to support the Java security model, I decided to go ahead and do that already. This is the first IKVM version that actually supports running Eclipse 3.0 and using it to develop Java code (even if it is horribly slow to get warmed up).
I've also disabled dynamic binding in ikvmc compilation, because it doesn't really work. The problem is that package access doesn't work across assemblies, so any package accessible types/members in statically compiled code cannot be accessed by dynamically loaded classes. I may re-enable this functionality at some point in the future, by combining it with an option to make all package accessible types/members public.
For dynamically compiled code, dynamic binding continues to work (to support scenarios were the more eager loading of classes by IKVM would otherwise cause problems).
Changes:
Powered by: newtelligence dasBlog 2.3.12105.0
© Copyright 2021, Jeroen Frijters
E-mail