C++ exception implementation (tangent)
David Cuthbert
dacut at kanga.org
Thu Feb 3 18:32:29 PST 2005
Greg 'groggy' Lehey wrote:
You'll notice that [C++ exceptions are] implemented with setjmp()/longjmp().
Is this the current state of g++?
I thought -- perhaps incorrectly -- that EDG-based compilers used lookup
tables based on the PC. This imposes no performance hit in the cases
where the exception isn't invoked -- it's popular for this reason. I
thought that g++ was heading in this direction, but I haven't been
following the changes terribly closely.
Win32 compilers modify a global pointer used by the OS for structured
exception handling (their equivalent of signal handlers). I find it
rather elegant, but no compilers take full advantage of it.
More information about the Kernel
mailing list