[Mono-dev] Incremental C# compiler

David Srbecky dsrbecky at gmail.com
Wed Jul 12 17:40:00 EDT 2006

Jonathan Gilbert wrote:
> I don't see any problem with removing methods -- it would just require an
> extra pass over all of the presently-loaded IL to ensure that no code calls
> the method being removed. If it's easy to walk the heap and find delegates,
> that would also be a necessary test,
I think that the both the pass over all loaded IL and the pass over heap 
are just too expensive for Edit and Continue.
However, there is simple walk-around for method removal - we can do 
replace so replace the method with code that will throw exception 
"Method removed by Edit and Continue". (This can be done by the IDE)

> Adding, replacing and removing methods seem to be relatively easy, provided
> that inlining is disabled in the JIT     ...   What's really difficult is
> editing a method's body while that method is executing 
Fortunately, I do not need to worry about this since I plan to use 
Microsoft runtime which has this implemented.

More information about the Mono-devel-list mailing list