[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