5 ms·
This sounds a lot like the SJLJ runtime model that was used in G++ for years. > The C++ standard can’t call for this because of the “zero cost if you don’t use
by brandmeyer 7y ago
This sounds a lot like the SJLJ runtime model that was used in G++ for years.
> The C++ standard can’t call for this because of the “zero cost if you don’t use it” rule. But a Linux ABI could. The MacOS takes advantage of this kind of freedom.
That's not really true. It has nothing to do with the standard. It has everything to do with the compiler's users complaining about the performance hit relative to DWARF EH. It is part of the social contract between the standards body, the compiler author community, and the user community that unused features don't cost us in runtime performance.
- gumby 7y agoYes, it's similar I suppose, though much lower overhead. I was a bigger advocate for frame inspection than Michael was in the early years because of my Lisp background. He was (correctly) more concerned with performance. As for "policy" vs "social contract" I think we basically agree.