The clr is responsible for the execution of MSIL code. This does not mean
that it executes it as though it were in a virtual machine of the classic
type.
The code does run natively on the processor.
However, the process of verification and compilation that the code goes
through before it gets to actually execute on the registers of the processor
is so intense that we might consider the CLR to be a virtual machine.
The strategy has one clear advantage over the classic interpretational or
tokenised virtual machine, that is that once verified, checked and compiled,
the process doesn't have to happen again for the second time that a given
routine is called.
--
--
Bob Powell [MVP]
Visual C#, System.Drawing
Ramuseco Limited .NET consulting
http://www.ramuseco.com
Find great Windows Forms articles in Windows Forms Tips and Tricks
http://www.bobpowell.net/tipstricks.htm
Answer those GDI+ questions with the GDI+ FAQ
http://www.bobpowell.net/faqmain.htm
All new articles provide code in C# and VB.NET.
Subscribe to the RSS feeds provided and never miss a new article.
"Tony Johansson" <jo*****************@telia.comwrote in message
news:u6**************@TK2MSFTNGP02.phx.gbl...
Hello!
I'm reading in a book and it says the following.
"MSIL(Microsoft Intermediate Language) generated by all the .NET language
compilers. This is a common
standard for the binary code generated by the compilers and is what is
executed by the CLR"
Now to my question about the text.
Is it really true that CRL is executing the MSIL code ?
I'm quite sure that the code that CRL will execute is the native code that
is output from the JIT
compilers.
The JIT take MSIL as input and generate OS native code that CLR can
execute.
You may correct me if I'm wrong here ?
//Tony