dotgnu-pnet
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE : [Pnet-developers] [bug #4430] Internal error: Could not verify the


From: Gopal V
Subject: RE : [Pnet-developers] [bug #4430] Internal error: Could not verify the code - br.s at verify_branch.c:393
Date: Fri, 25 Jul 2003 01:42:05 +0530
User-agent: Mutt/1.2.5i

If memory serves me right, Yannis BRES wrote:
> > Ok, so as far as I know , locvars 40 & 48 are 
> > non-Assigncompatible ... ie being of totally different types ....
>
>      Well, the method is supposed to return a System.Object, the 40th local
> variable is declared as Ir.BgL_ir_node_Kmovezd2memzd2 and the 48th is
> declared as Ir.BgL_ir_node_Kmovezd2tempzd2.  What's wrong wrt. to ret ?

Ok, pnet's verifier was having problems with this kind of thing ie in
C# code ,

return (expr ? (Object)a : (Object)b);

Which generates

        ldloc.0  //expr -- bool
        brfalse ?L1
        ldloc.1  // a -- Type A
        br.s  ?L2
?L1:
        ldloc.2 // b -- Type B
?L2:
        ret

Which was my original question ie "Is this generated from a huge ternary
expression" which it might be , scheme being a very very easy language to
put 

(ternary_op (..LOTS..) (..LOTS..) (..LOTS..)) 

to have this sort of effect on IL ..

>      I do insist that this is a recent "regression", such programs were not
> rejected till recently...

Ok, this problem was there from day #1 of the verifier stack checks :)

You should use ilverify for that as ilrun does not verify methods it 
does not run . So the problem popped up when you use a particular set of
options & ran the problem function. 

But I've fixed this up without breaking the rest of the verifier I hope.
Currently ilverify gives your bigloo an A-OK :) .  

Gopal
-- 
The difference between insanity and genius is measured by success


reply via email to

[Prev in Thread] Current Thread [Next in Thread]