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