I just started looking at DotGNU and this statement intrigued me:

"We first convert the CIL bytecode into a simpler instruction set for what we call the Converted Virtual Machine (CVM). The simpler CVM instructions are then executed using a high-performance interpreter."

This makes a lot of sense to me because IL code was written specifically to be JIT'ed, unlike Java's Byte code. So it's inefficient to interpret IL code directly (like mono's mint).

I realize that this CVM interpreter is going to be much slower than the new JIT compiler, but this is still an interesting option that can make it easier to support a new platform. I'm thinking about a smaller embedded platform that doesn't have a ton of resources, so a lean interpreter sounds like a good choice.

Is the CVM still a viable model, or has it been super-ceded by libjit? I understand libjit can fallback to interpretation on a platform that doesn't have JIT support yet, but I'm fuzzy on the mechanics of this. Can the current C# compiler still generate CVM code as an option?

Eric

_________________________________________________________________
Talk now to your Hotmail contacts with Windows Live Messenger. http://clk.atdmt.com/MSN/go/msnnkwme0020000001msn/direct/01/?href=http://get.live.com/messenger/overview

_______________________________________________
Developers mailing list
[email protected]
http://dotgnu.org/mailman/listinfo/developers

Reply via email to