This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: ia64 c++ abi exception handling


>>>>> "Richard" == Richard Henderson <rth@redhat.com> writes:

>> Thinking again about your proposed rethrow optimization, we can sometimes
>> be sure that a rethrow will be caught (or satisfy an exception spec), but
>> we can never be sure that it won't.

> I scrapped the rethrow idea.  There is still a way to mark direct
> throws only.  That's what you're seeing.

I actually wasn't responding to anything in the patch; it's just that as
long as you're optimizing for exception specs, it seems to me that you
might as well use the same logic for rethrows.  For optimization purposes,
a rethrow from a catch block can be treated exactly like an exception spec
with a single allowed type.

Of course, this would still require a bit more code to find the
corresponding catch block, and probably a new region type, so I don't mind
if this just gets a ??? comment for now.

>> There sure are a lot of functions that contain overlapping bits of the
>> logic about when an exception can pass through to an outer handler.  I
>> feel pretty strongly that we should contain all that (fairly complex)
>> logic in a single function.

> Here's a revised gcc/except.c.  The whole file is smaller than the diff.

Looks good, thanks.

Jason


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]