[Top][All Lists]

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

Re: objc native exceptions

From: David Chisnall
Subject: Re: objc native exceptions
Date: Fri, 27 Jun 2008 18:03:09 +0100

Native exceptions should have more overhead when they are used, and no overhead when they are not used (which is why they are also called 'zero cost' exceptions). The other problem is that they break the ABI - you can't mix setjmp/longjmp and native exceptions in the same file. This is why Apple only enable them with the 64-bit and Objective-C 2.0 runtimes (which break the ABI anyway).

Unless you are talking about just enabling the syntax and having the compiler emit setjmp/longjmp under the hood, of course. In this case, there is some overhead since they are doing the same thing that the old macros were but are going via an extra layer of indirection.


On 27 Jun 2008, at 17:57, Nicola Pero wrote:

On 27 Jun 2008, at 16:35, Richard Frith-Macdonald wrote:

I was wondering if there was any good reason why gnustep-make doesn't enable native exceptions by default if the compiler supports it.

There are some overheads in enabling native exceptions.

I'm not too familiar with the issue, I only know that when I added support for native exceptions to gnustep-make and tried to make it the default, someone else came out and turned it off again by default claiming that the overheads
are high.

That's fine btw - the main problem is that because you need a special configure flag to turn them on, nobody seems to be using native exceptions, so they don't get used / tested / finished. :-(

Which is a pity, because they are a nice feature to have.


Gnustep-dev mailing list

reply via email to

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