As some of you may have already noticed, Mono.C5's test suite is now in SVN and GMCS can also compile it :-) Some of the NUnit tests are disabled because they would crash the JIT or cause a hang at runtime, but I think we're already doing pretty good today: about 160 out of 870 tests are currently working.
After so much good news, I started to do some generics-related API cleanups in the runtime. The biggest change is that I renamed to MonoGenericInst structure to MonoGenericClass because that's what it really is. So now we have MonoGenericClass describing a generic class and MonoGenericMethod describing a generic method.
However, before you burst into tears about the dead of MonoGenericInst, don't worry - it will be reborn again tomorrow :-)
Tomorrow, I'll add a new MonoGenericInst which'll just contain the type_argc and type_argv fields and an unique ID. This'll later be used to share code between different instantiations. I'm doing this now because I realized that I need it in order to fix a bug - so we'll see a this optimization earlier than originally expected .....
I'm back from my vacations since almost two weeks and now I finally have time to give you guys a short update on generics. I have several good news:
It also looks like people are finally starting to file GMCS bugs - to everyone who already filed an GMCS bug report: thanks a lot :-) I still need more bug reports, so if you didn't file any GMCS bugs yet, now's your chance of helping it getting more stable and mature ...
Unfortunately, I'm really broke at the moment, so I can't offer people any coffee or beer in return for sending me a bug report - however, I still appreciate your help :-)