[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [DotGNU]Ml-pnet , status report 04-06-2003
From: |
Gopal V |
Subject: |
Re: [DotGNU]Ml-pnet , status report 04-06-2003 |
Date: |
Wed, 4 Jun 2003 09:41:54 +0530 |
User-agent: |
Mutt/1.2.5i |
If memory serves me right, Rhys Weatherley wrote:
> On Wednesday 04 June 2003 05:49 am, Gopal V wrote:
> > Hey all,
> > I've just finished updating the Npgsql (a Managed ADO provider)
> > to ml-pnet , which rounds off my first round of porting libraries.
> > So now you can access Sql databases from Portable.net ..
>
> Great work Gopal!
SSL , SQL , we're moving along well ;-)
> > Pnet will require its own embedding , internal calls and other framework
> > changes to this .
>
> If we can get some details on what this "stub" needs to do, then it shouldn't
> be too hard to auto-detect winelib in configure and then build an
> "ilrun-wine" binary to hold it.
Generally speaking this shouldn't be much of a big deal .. but a Wine
binary is a lot less attractive than a true blue VM . But I guess it's
possible :-)
The stub code seems to be just under a thousand lines... but on the
other hand , this would mean that some of the code will need to be
linked against Wine instead of being a local binary (ie "gc.dll" instead
of linking in libgc). I'm not sure how big a performance hit this is ,
but I think this will be slower than the stock VM :-(
> > > with garbage collection disabled as there is a problem using WineLib
> > > with
> > > garbage collection enabled
>
> I thought they'd fixed this.
Hmm... maybe I need a new winelib ? (or somebody needs to update that readme)
The monogc.c in code shows a lot of function pointers and dlsym into
"gc.dll" (not "libgc.so" !) ...
> Not wasted. Those compiler bugs wouldn't have been found or fixed otherwise.
>
These are not compiler bugs but errors like :-
- object IAccessible.get_accRole(object childID) {
- throw new NotImplementedException ();
+ [IndexerName("accRole")]
+ Object IAccessible.this[Object varChild]
+ {
And since they are using "/nowarn:0114" , I had to add a lot of missing
"override" stuff and ended up generating a script from the error messages
due to sheer volume (s/$2/override $2/) and all this to compile code
having just NotImplementedException() :-(
Due to "/nowarn:0114" most of their compiled code is plain wrong as well,
because some overrides become non-virtual instance methods ...
Not to mention that Mono's Accessibility.dll is not signature correct
with pnetlib and there fore had to add a lot of [In] [Out] etc...
And removed a bit of pointer arithmetic (ie (p-q) > 256 stuff) from Pinvoke
return values and replaced it with just 'String' in the pinvoke sig.
You can have that 200 line patch to avoid going through that again !
Generally speaking -- a soul testing experience
> Even when we can't run the code yet, flushing the bugs out of the compiler
> and pnetlib helps make the system better overall.
Yus, the enum bug got fixed :-)
Gopal
--
The difference between insanity and genius is measured by success