2010/2/2 Joshua L. Blocher <verbalshadow@...400...>:
We didn't move to Dwarf2 to for the performance gains. We moved to it because of it superior Debug handling and to bring all our major platform into alignment. It has help us debug issues we would not have been able to figure out when using SJLJ .
I think MinGW uses Dwarf2 debug information regardless of its exception handling model.
Reasons SJLJ specifically is bad: -SJLJ is much worse in terms of performance efficiency, unusably so in some cases
We are not one of those cases. There are about 100 "try" blocks in Inkscape, none of them in the renderer.
-Other modern targets are using Dwarf, and SJLJ implementation quality will decrease over time.
But for now on Windows the quality of SJLJ implementation is higher than the quality of Dwarf2 implementation.
Dwarf is good:
- Unlike SJLJ, a quality implementations are able to unwind SEH (Structured
Exception Handling on Windows) frames properly.
But the Windows implementation can't, at least for now. When it's ready (hopefully it's fully working in GCC 4.5) the devlibs can be rebuilt again. I left detailed notes on the wiki, so that others can do it if necessary. http://wiki.inkscape.org/wiki/index.php/Inkscape_Devlibs
Regards, Krzysztof