dotgnu-general
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: AW: [DotGNU]Portable.NET: Embedding issues ..


From: David Sugar
Subject: Re: AW: [DotGNU]Portable.NET: Embedding issues ..
Date: Tue, 11 Feb 2003 11:48:11 -0500
User-agent: KMail/1.4.3

I also have been interested in embedding pnet in some form.  I recall it (last 
time I checked) had several library dependencies that generally were not 
widely available seperately and were not part of the installed pnet libs 
(libILxxx), so it was not possible to simply link with pnet runtime libraries 
alone to accomplish this.  Has this been changed?

David

On Tuesday 11 February 2003 08:56, Gopal V wrote:
> If memory serves me right, Tobias Oberstein wrote:
> > > Being able to load from memory or a custom loader is on our TODO list.
> >
> > Just to be sure: are different VM instances also isolated in terms
> > of loaded class code? That is, once the code for some class has be
> > loaded into some VM instance, it stays there unmodified even if I
> > load modified code for the _same_ class but into a different VM
> > instance?
>
> AFAIK, the loader loads induvidual copies of the same class for each
> instance ... which has been cited as one of the bad things about the
> JVM and now for other bytecode VMs.
>
> > > > Instances of persistable classes are sharable between all VM
> > > > instances. All synchronisation is done under the hood by the OO
> > > > database.
>
> ....
>
> > For example, instead of serializing a (part of a) object graph into a
> > byte sequence which then gets stored in the OODBMS, one might argue in
> > favor of storing the object graph exactly as it is layed out in the VES.
> > At least for "value types" this could be possible, if one can force the
> > VES to lay out a simple struct e.g. like in C - that is "packed".
>
> Ok .. so you need to get a C version of the data in memory ? ...
> It's kinda too easy :-) .. For example look at the internal calls in
> engine/lib_dir.c for Platform_InternalFileInfo , which is a direct
> map of the Platform.InternalFileInfo C# struct .
>
> Also pnet's embedding support allows the attaching of new internalcall
> tables without editing the engine code directly ... I can help you with
> doubts about that if you want.
>
> So you could implement your own VM calls like say ,
> PersistantObjectStore.GetObject(_tag); to suit your needs , which pulls
> the stuff out of somewhere back into the engine ?.
>
> > One point I don't understand is: in C, there are _fixed_-size arrays,
> > like in
>
> .....
>
> > That is X is a "value type" with a fixed layout. Is there such thing like
> > fixed size arrays in CLI/VES. Are they value types or reference types?
>
> Hmmm.. I mistook this comment and went on to compile the struct code with
> CSCC and got a sizeof(X) == 104 ... But that worked just fine. So you *can*
> have structs with fixed size arrays in pnet's Managed C compiler and
> engine. That's a ValueType as well ... But I'm sort of lost to see if that
> would help you ...
>
> Gopal



reply via email to

[Prev in Thread] Current Thread [Next in Thread]