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

"Andrés G. Aragoneses" knocte at gmail.com
Mon Jul 28 05:39:08 EDT 2008


Zoltan Varga wrote:
> [...]
> In case anyone wants to revert their tree to before the merge, the before merge
> revision is  r108475.

(Just FYI)
It's a shame because, at that revision, there's an mcs bug that prevents 
you from compiling MonoDevelop:

Exception caught by the compiler while compiling:
    Block that caused the problem begin at: 
./MonoDevelop.SourceEditor/SourceEditorWidget.cs(253,22):
                      Block being compiled: 
[./MonoDevelop.SourceEditor/SourceEditorWidget.cs(269,64):,./MonoDevelop.SourceEditor/SourceEditorWidget.cs(278,25):]
System.InvalidCastException: Cannot cast from source type to destination 
type.
Internal compiler error at 
./MonoDevelop.SourceEditor/SourceEditorWidget.cs(253,22):: exception 
caught while emitting MethodBuilder [SourceEditorWidget::AddClass]

Unhandled Exception: System.InvalidCastException: Cannot cast from 
source type to destination type.
   at Mono.CSharp.ConstantFold.BinaryFold (Mono.CSharp.EmitContext ec, 
Operator oper, Mono.CSharp.Constant left, Mono.CSharp.Constant right, 
Location loc) [0x00000]
   at Mono.CSharp.Binary.DoResolve (Mono.CSharp.EmitContext ec) [0x00000]
   at Mono.CSharp.Expression.Resolve (Mono.CSharp.EmitContext ec, 
ResolveFlags flags) [0x00000]
   at Mono.CSharp.Expression.Resolve (Mono.CSharp.EmitContext ec) [0x00000]
   at Mono.CSharp.Binary.DoResolve (Mono.CSharp.EmitContext ec) [0x00000]
   at Mono.CSharp.Expression.Resolve (Mono.CSharp.EmitContext ec, 
ResolveFlags flags) [0x00000]
   at Mono.CSharp.Expression.Resolve (Mono.CSharp.EmitContext ec) [0x00000]
   at Mono.CSharp.Expression.ResolveBoolean (Mono.CSharp.EmitContext ec, 
Mono.CSharp.Expression e, Location loc) [0x00000]
   at Mono.CSharp.If.Resolve (Mono.CSharp.EmitContext ec) [0x00000]
   at Mono.CSharp.Block.Resolve (Mono.CSharp.EmitContext ec) [0x00000]
   at Mono.CSharp.ExplicitBlock.Resolve (Mono.CSharp.EmitContext ec) 
[0x00000]
   at Mono.CSharp.Foreach+CollectionForeachStatement.Resolve 
(Mono.CSharp.EmitContext ec) [0x00000]
   at Mono.CSharp.While.Resolve (Mono.CSharp.EmitContext ec) [0x00000]
   at Mono.CSharp.Foreach+CollectionForeach.ResolveLoop 
(Mono.CSharp.EmitContext ec) [0x00000]
   at Mono.CSharp.Foreach+CollectionForeach+DisposableWrapper.Resolve 
(Mono.CSharp.EmitContext ec) [0x00000]
   at Mono.CSharp.Foreach+CollectionForeach.Resolve 
(Mono.CSharp.EmitContext ec) [0x00000]
   at Mono.CSharp.Foreach.Resolve (Mono.CSharp.EmitContext ec) [0x00000]
   at Mono.CSharp.Block.Resolve (Mono.CSharp.EmitContext ec) [0x00000]
   at Mono.CSharp.ExplicitBlock.Resolve (Mono.CSharp.EmitContext ec) 
[0x00000]
   at Mono.CSharp.Block.Resolve (Mono.CSharp.EmitContext ec) [0x00000]
   at Mono.CSharp.ExplicitBlock.Resolve (Mono.CSharp.EmitContext ec) 
[0x00000]
   at Mono.CSharp.EmitContext.ResolveTopBlock (Mono.CSharp.EmitContext 
anonymous_method_host, Mono.CSharp.ToplevelBlock block, 
Mono.CSharp.Parameters ip, IMethodData md, System.Boolean& unreachable) 
[0x00000]


I'll see if it's fixed in SVN, but then I have to stick with the 
linear-IR stuff merged so I maybe face unstability probs :/

(And this is not possible: )
svn up mcs && svn up mono libgdiplus -r108475

(The reason: )
Corlib not in sync with this runtime: expected corlib version 68, found 69.

Regards,

	Andrés



>> 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