From: Ion Gaztañaga (igaztanaga_at_[hidden])
Date: 2006-02-12 15:34:23
>>> and AFAIK it's impossible to implement zero-overhead stack unwinding
>>> (you're the exception expert, so please correct me if I'm wrong).
>> If by "zero-overhead stack unwinding" you mean exception handling that
>> has no speed cost unless an exception is thrown, then consider
>> yourself corrected.
> This means that it is impossible to implement stack unwind with no
> speed cost when an exception is not thrown?
> I'm definitely not an expert, not even a newbie in this field
> probably, but I thought it was possible.
> Or did I misunderstood your statement?
I don't know anything about exception implementation, but I suppose that
the code must mark some "check-points" to know how many object are
already constructed, to know how many destructors it must call when the
exception occurs. I suppose that can be implemented as an
integer/pointer increment or assignment. But the code must add something
to the normal path to know what to do when the exception occurs.
Boost list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk