I recently noticed MinGW.org has started using a different technique to handle exceptions, namely Dwarf2 instead of sjlj. This produces (much) faster code that uses exceptions (or so they say). Any chance of seeing this in mingw-w64/w32 soon?
dw-2 on Win64 is very broken, its somewhat working on win32, but causes issues if you throw C++/Java exceptions across dlls. The unwinder will fail if it ever passes through any non dw2 aware dlls.
So, thats the reason we stick to sjlj for now.
The same question was asked recently on the public mailing list.