On Sat, Dec 1, 2012 at 4:33 PM, NightStrike <[email protected]> wrote:
> On Sat, Dec 1, 2012 at 3:37 AM, Ulf Magnusson <[email protected]> wrote:
>> Hi,
>>
>> If I've understood things correctly, MinGW-w64 uses the SJLJ
>> (longjmp-based) exceptions implementation for both win32 and win64,
>> because DW2 (speedy, table-based) can't pass exceptions through
>> foreign stack frames (e.g., throwing an exception from within a
>> callback and catching it at the point of setting the callback won't
>> work). I also believe MinGW uses DW2, because speedy exceptions was
>> considered worth the breakage. Two questions:
>>
>> 1. Other than being broken for passing exceptions through foreign
>> stack frames, is there something inherent about win64 that makes DW2
>> difficult to implement for it?
>>
>> 2. How long do you think it'll be before MinGW-w64 has zero-cost
>> exceptions on win32/win64? From some discussion in #mingw@freenode it
>> sounded like the proper solution would be to implement the same
>> zero-cost exception model cl uses (not really familiar with it), but
>> it was implied that it might be patent encumbered on win32.
>
> It's called SEH, and it's done for 64-bit.
>

Do you mean that only cl uses SEH for zero-cost exceptions on win64,
or that MinGW-w64 does as well?

I'm also a bit confused by the terminology. Looking at e.g.
http://www.microsoft.com/msj/0197/exception/exception.aspx, it seems
SEH is an OS-level mechanism for handling low-level exceptions
(divide-by-zero and the like). How does this relate to C++ exceptions
and zero-cost (table-based) exception models? When you say that SEH is
done for 64-bit, do you mean that a zero-cost exception model layered
on top of SEH is used on win64? Is SEH used by cl on win32 as well to
implement C++ exceptions, only it isn't zero-cost there?

/Ulf

------------------------------------------------------------------------------
Keep yourself connected to Go Parallel: 
INSIGHTS What's next for parallel hardware, programming and related areas?
Interviews and blogs by thought leaders keep you ahead of the curve.
http://goparallel.sourceforge.net
_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to