[Mono-devel-list] Re: [Mono-patches] r37935 - trunk/mono/mono/mini

Ben Maurer bmaurer at ximian.com
Sun Dec 19 12:31:57 EST 2004


On Sun, 2004-12-19 at 11:55 -0500, Ben Maurer wrote:
> Hey Zoltan,
> 
> On Sun, 2004-12-19 at 11:29 -0500, Zoltan Varga (vargaz AT freemail.hu) wrote:
> > +
> > +			/* Optimize the common ldobj+stloc combination */
> > +			switch (ip [5]) {
> > +			case CEE_STLOC_S:
> > +				loc_index = ip [6];
> > +				stloc_len = 2;
> > +				break;
> > +			case CEE_STLOC_0:
> > +			case CEE_STLOC_1:
> > +			case CEE_STLOC_2:
> > +			case CEE_STLOC_3:
> > +				loc_index = ip [5] - CEE_STLOC_0;
> > +				stloc_len = 1;
> > +				break;
> > +			default:
> > +				break;
> > +			}
> 
> This is a great idea, but it doesn't quite work as it is. Your patch
> assumes that ip + 5 is in the same bb as we are currently parsing
> However, this might not be the case. A long time ago, I filed a bug
> about this assumption being used in ldtoken.

It is worse than I thought:

[benm at omega mini]$ ./mono  --stats --compile-all ~/install/lib/mono/1.0/mscorlib.dll
 
** ERROR **: file mini.c: line 4137 (mono_method_to_ir): assertion failed: (ins->opcode == CEE_STOBJ)
aborting...
Aborted

I don't know if this is because of the issue I found, or if it is
something else. But I've reverted.

-- Ben




More information about the Mono-devel-list mailing list