[Top][All Lists]
[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.
Re: [DotGNU]CVM to machine code, Gopal V, 2003/07/26