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.

David

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.

Thanks


_______________________________________________
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev



_______________________________________________
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev

Reply via email to