[Mono-dev] Incremental build for mono compiler

Bartosz Lipinski baalazamon at gmail.com
Tue Apr 14 12:04:55 EDT 2009


Thanks all of You for good advices.

>From next week I am going to play with current mcs (to follow Marek's
suggestions). I should admit that I am not familiar with mcs so it should be
a good start.
In case of any serious trouble I will try to let you know. I have few
experiences with ADA and Java compiler so I will try not to disturb any of
your ongoing work :)

Please not forget I am still open for your suggestions.

On Fri, Apr 10, 2009 at 9:39 PM, Marek Safar <marek.safar at seznam.cz> wrote:

> Hello,
>
>> I am planning to implement background compilation for
>> SharpDevelop<http://www.icsharpcode.net/OpenSource/SD/Default.aspx>.
>> It requires to modify mono compiler to have an incremental build feature.
>>
>> I am thinking about this and from my point of view it requires from
>> mcs to (correct me if I'm wrong):
>> * The naive implementation of this just modify frontend of compiler to
>> have parser stage completed - quick prototype
>> * save metadata of compilation and internal state of compiler
>> * allow to compile only one modified file (If modification requires to
>> compile more than one e.g. change of interfaces or name of public
>> member additional recompilation should be made)
>> * Next step of this task will be to allow recompilation of only one
>> method for E&C feature
>>
>> So I  am asking for Your help with my few questions:
>> * Which is the best place to start ?
>> * Potential problems ?
>> * Some guidelines to do this in the "Mono" way for future integration.
>>
>>
> I think this could be easier to implement than you may think. All what you
> need is to create an instance of mcs compiler (keep it in memory) and then
> use REPL interface to compile modified code using same mcs instance. You
> will have to tweak our REPL to compile in correct context but that should be
> almost all what needs to be changed.
>
> The bad news is that mcs does work properly on Mono runtime only. But as
> Miguel wrote I am working on a solution and it should be ready in next few
> months. You can play with current mcs as the new version should only make
> things easier for you, e.g. you could get compiled method body as byte
> array.
>
> Marek
>



-- 
Bartosz Lipinski
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ximian.com/pipermail/mono-devel-list/attachments/20090414/9b47d11e/attachment.html 


More information about the Mono-devel-list mailing list