[Top][All Lists]

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

Re: [DotGNU]Qt-Sharp Errors

From: Gopal V
Subject: Re: [DotGNU]Qt-Sharp Errors
Date: Fri, 20 Dec 2002 13:20:28 +0530
User-agent: Mutt/1.2.5i

If memory serves me right, Marcus wrote:

                ldstr      "()"
                ldstr      "(int)"
                leave.s    ?L4c176
This is the thing causing verification failures ...

*But* ... leave instruction in ECMA spec says ...

 34        Stack Transition:
 5         ..., !

10         whereas the ordinary branch instructions can only be used in such a 
block to transfer control within it. The
11         leave instruction empties the evaluation stack and ensures that the 
appropriate surrounding finally blocks are

So if the "leave" instruction empties the Evaluation stack as per the spec
then the Portable.Net implementation is correct... and the above code is

Then the leave instruction goes on to say this as well...

14         it is legal from within a catch block to use a leave instruction to 
transfer control to any instruction within the
15         associated try block.

This seems to be mistakenly interpreted by the compiler designer to use
the leave instruction like a "br" ... eventhough it clears the stack ..

The difference between insanity and genius is measured by success

reply via email to

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