[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [DotGNU]WHere does CVM fit into the pnet picture?
From: |
Rhys Weatherley |
Subject: |
Re: [DotGNU]WHere does CVM fit into the pnet picture? |
Date: |
Fri, 04 Jul 2003 19:04:13 +1000 |
User-agent: |
KMail/1.4.3 |
On Friday 04 July 2003 07:03 pm, Mark Easton wrote:
> Apart from saying how impressed I am by the versatility and ingenuity of
> Portable.NET,
Thanks! :-)
> I would like to ask a very quickly if my understanding of
> how CVM fits into the Portable.NET picture is correct. It seems to me
> that the high-level compilers compile into CVM before a second phase
> compiler converts CVM into an intermediate format (currently either JVM
> BC or .NET IL).
It's actually the other way around. The high-level compilers, such as cscc,
compile C# and other languages into IL bytecode.
When the engine is launched on an IL bytecode binary, the IL is converted into
a sequence of CVM instructions in memory. The CVM instructions are then
interpreted. CVM is used solely inside the engine - it is never visible to
outside tools like the compiler.
The compilers do have an intermediate form of sorts - the abstract syntax tree
that is managed by treecc. But that is a separate issue from CVM.
> So, am I in the right ball park or am I just another poor deluded fool
> playing with things I don't understand?
You were almost there. More information can be found in the source tree in
the file "pnet/engine/HACKING" and in the following paper on the design:
http://www.southern-storm.com.au/download/pnet-engine.pdf
Cheers,
Rhys.