dotgnu-general
[Top][All Lists]
Advanced

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

Re: [DotGNU]CVM to machine code


From: Rhys Weatherley
Subject: Re: [DotGNU]CVM to machine code
Date: Sun, 27 Jul 2003 09:52:45 +1000
User-agent: KMail/1.4.3

On Saturday 26 July 2003 05:59 pm, Gnanavel S wrote:

> I did not understand clearly why should the IL instructions be converted to
> a form CVM can understand and then later CVM does the conversion to machine
> code? Will it not be in-effcient in terms of speed (comparing with JIT)?
> What are benefits do we acheive here?

The primary benefit is the incremental nature.  We can gradually replace "hot 
spots" in the instruction set with native code - not everything is converted 
to native code, only the most commonly used instructions.

Debugging is a lot easier in this framework because the interpreter acts as a 
baseline for comparisons.  If a particular unrolled instruction is having 
problems, it can be commented out and the interpreter will automatically take 
over.  It isn't possible to target individual code expansions in a JIT in the 
same way.

However, as more and more instructions are replaced, we will eventually reach 
the tipping point where it is more efficient to turn the unroller into a real 
JIT, and skip the intermediate CVM step.

Cheers,

Rhys.



reply via email to

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