[Mono-dev] Incremental C# compiler
David Srbecky
dsrbecky at gmail.com
Wed Jul 12 17:45:17 EDT 2006
Martin Baulig wrote:
> So if you parse the same method a second time, the types previously
> referenced by that method are still in the cache and thus your
> metadata could grow a lot in size if you do that several times.
I do not think that the new method will add that many entries to make
this a problem.
> Also, you will run into the problem that not all Expressions/Statement's
> in gmcs are safe of being Resolved/Emitted more than once - most of them
> will work, but you'll discover side-effects with some of them which have
> to be fixed.
Can you give me an example of that? I have no idea what could cause such
a problem.
> There is also the problem of figuring out which methods changed and
> which did not.
The compiler will be send a source file which will contain only the
changed methods.
> Btw. you may also find some useful information about edit-and-continue
> in Mike Stall's debugger blog:
> http://blogs.msdn.com/jmstall/default.aspx
I am aware of this. Actually, he started writing about Edit and Continue
because of me :-D
Miguel de Icaza wrote:
> If someone wants to make this their thesis subject, that is fine with
> me, but the amount of changes are too large in too many areas. I do not
> even want to bother enumerating them.
Could you please at least state a few to convince me that this is not
feasible?
Mind that I do not want to touch mono runtime and mono
System.Reflection.Emit. I just want be able to quickly produce updated
assembly given that only bodies of methods can change. I will use cecil
to do the diffs and I will apply the changes to program running under
Microsoft runtime.
Thank you very much,
David
More information about the Mono-devel-list
mailing list