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: Gopal V
Subject: Re: AW: [DotGNU]Portable.NET: Embedding issues ..
Date: Tue, 11 Feb 2003 19:26:15 +0530
User-agent: Mutt/1.2.5i

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
-- 
The difference between insanity and genius is measured by success


reply via email to

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