On Wednesday, 18 February 2015 at 08:13:35 UTC, Ola Fosheim
Grøstad wrote:
It is a horrible solution developed for the Itanium VLIW
architecture which is very sensitive to branching. IRRC it
basically works by looking at the return address on the stack,
then picking up stack frame information in a global table to
unwind. It is language agnostic and the language provides a
"personality function" to unwind correctly in a language
dependent manner...
Which is true, but would be as true without the horrible mention.
Adjective do not constitute arguments.
I agree that a fast unwind with stack pointer reset or multiple
return paths would be much better, but you need to rewrite the
backend to support it. That's the main issue... the "fast path"
argument is just a sorry excuse that literally means that
exceptions are avoided for common failures in C++. As a result
you get APIs that are nonuniform.
What you agree with is irrelevant if it do not come backed by
facts.
You can qualify thing as "horrible", "sorry excuses" and so on,
the only thing it is telling us is that you seems incapable of
forming a compelling argument and rely on smear instead.