Need for __uncatch_exception

Jason Merrill jason at redhat.com
Fri Jul 21 18:18:21 UTC 2000


>>>>> Mark Mitchell <mark at codesourcery.com> writes:

>>>>> "Christophe" == Christophe de Dinechin <ddd at cup.hp.com> writes:
 Christophe> To me, the spec is finished and was actually
 Christophe> implemented at HP. We used different names at the

 > I did not realize that the HP document was part of the proposed spec.
 > I'll look at that.

 Christophe> In our implementation, there is no need for
 Christophe> __uncatch_exception in compiler generated code. There
 Christophe> is a need for a special __rethrow entry point (sorry,
 Christophe> __cxa_rethrow). Rather than using __uncatch_exception,
 Christophe> we set a special bit on the exception, but the result
 Christophe> should be similar.

 > Right, that's similar.  GCC's uncatch_exception does a little more,
 > but I'm not sure exactly what.  It looks like it will pop several
 > exceptions off the stack, if necessary, but I'm not sure why that's
 > needed.  Jason?

__uncatch_exception recently became more complicated to properly handle
rethrowing in the presence of other active exceptions.  It isn't popping
anything, just looking further down for a caught exception and moving it to
the top of the stack.

The HP proposal avoids this complexity by not putting active exceptions on
the exception stack, and has other advantages.

 > Also, Jason, what are Red Hat's plans, if any, for implementing the HP
 > proposal?

No immediate plans, though it sounds like Intel may pay us to do so.  SGI
had talked about doing some of the support library, but I don't know how
that's coming along.

Jason




More information about the cxx-abi-dev mailing list