[Mono-devel-list] Exception handler

Neale.Ferguson at SoftwareAG-USA.com Neale.Ferguson at SoftwareAG-USA.com
Mon Jan 3 10:18:29 EST 2005

 I've now made s390 use the common mini-exceptions.c stuff in line with the other platforms. I have one problem though. There is a test in mono_handle_exception():

if (ei->try_start <= MONO_CONTEXT_GET_IP (ctx) &&

that causes problem on s390. It turns out if an instruction that causes an exception to be raised is the one immediately before the handler then the IP will point at the start of the handler such that the <= will be true and the handler won't get executed. I can get round this by changing the test to:

if (ei->try_start < MONO_CONTEXT_GET_IP (ctx) &&

and things work (e.g. exception8). However, I'm not sure what the implication for other platforms may be.

Neale Ferguson 

More information about the Mono-devel-list mailing list