> while performing JIT compialtion, The MSIL code will be converted to native
> code but how the native code will modify the assembly?
Not at all.
> is that exe/dll size will be increased while converting the MSIl code to
> native code?
The assembly is /not/ overwritten.
The methods are loaded and linked to native code and then executed /in
memory/. Nothing is written back to disk, unless you use ngen, which
writes out a /separate/ file containing all the native code.
HTH,
Phill W.
Artralarasu - 26 Jul 2007 06:36 GMT
> > while performing JIT compialtion, The MSIL code will be converted to native
> > code but how the native code will modify the assembly?
[quoted text clipped - 12 lines]
> HTH,
> Phill W.
Phill Thank you.
Is that mean JIT will perform validation and verification of MSIL.How the
JIT make sure that the particular method is already executed or not ?
because the the JIT compilation is performed only once for a particular
method and it wont be repeated.
Pls correct me if i am wrong.
Phill W. - 26 Jul 2007 11:51 GMT
> Is that mean JIT will perform validation and verification of MSIL.How the
> JIT make sure that the particular method is already executed or not ?
It's all part and parcel of the JIT loader. Assemblies are loaded and
linked method-by-method so, presumably, the framework keeps track of the
ones it's loaded so far.
And yes, the optimisation occurs only once; if conditions on the machine
change radically while the process is running, the method may have been
linked in a non-optimal way.
HTH,
Phill W.