[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