[Mono-dev] HEADS UP: Linear IR branch merge

Zoltan Varga vargaz at gmail.com
Wed Jul 23 16:21:36 EDT 2008

                              Hi All,

 The merge is now done, the current testing status is the following:
- x86/amd64 linux seems to be in good shape, the other
architectures/OSes have some problems

I would like to ask people to try out the new code, and report
problems either by
replying to this mail or by using bugzilla.

To help track down problems, the new JIT actually includes the old
one, and there is
an env variable called MONO_COUNT which if set determines the number of
methods compiled by the new JIT. So running your app with MONO_COUNT=0 will
use the old JIT. This variable can be used to determine the exact
method which is
miscompiled by the new JIT using a binary search, ie.:

MONO_COUNT=10000 mono app.exe -> fail
MONO_COUNT=5000 mono app.exe -> fail
MONO_COUNT=2500 mono app.exe -> success
MONO_COUNT=3500 mono app.exe


When the new JIT code is deemed stable enough, the old JIT code and this env
variable will be removed.

In case anyone wants to revert their tree to before the merge, the before merge
revision is  r108475.


> On Tue, 2008-07-22 at 01:09 +0200, Zoltan Varga wrote:
>> Hi All,
>>   Now that we have branched for mono 2.0, we would like to merge the
>> work done on the linear IR branch to svn HEAD. The
>> linear IR branch was created in 2005 October to explore some ideas on
>> how to make our JIT simpler and how to make
>> it generate better code. A lot of work has been put into the branch
>> over the years, and now we are ready to merge it.
>> Changes of this magnitude are never easy, so svn head might be a bit
>> unstable for a few weeks as we work out the problems. Documentation
>> for the new JIT and some benchmarks can be found at
>> http://www.mono-project.com/Linear_IL
>> I plan to do the merge tomorrow. Until then, please avoid checking in
>> code to the mono/mini directory so as to not interfere with the merge.
> This is great news!  Do we have a list of architectures that will be
> supported, and more importantly a list of architectures that will be
> broken when you do the merge?
> If I remember correctly, ARM, x86, x86-64, sparc, and itanium are ported
> already?
> Thanks
> -g

More information about the Mono-devel-list mailing list