[LLVMdev] x86 unwind support[MESSAGE NOT SCANNED]

Mark Shannon
2009-07-20T08:58:42Z

Hi,

Can I interject something at this point.

Can I suggest that invoke/unwind be renamed DWARF_invoke/DWARF_unwind to
warn the unwary that if they want lightweight exception handling in
their Python/ML/whatever implementation they should use some other method.

PS.
Kenneth, why don't you just use setjmp/longjmp directly.
Or, if you want, I can email you my lightweight versions if you want,

Mark.

Duncan Sands wrote:
> Hi,
>
>> How do either of these prevent DWARF exception handling from working?
>
> if you throw an exception using your proposed unwind implementation,
> then it wouldn't be caught by dwarf catch/cleanup regions (eg: invoke).
>
>> Would a landing pad expecting to get an exception object from the
>> exception intrinsics fail to get one in the case of an unwind and
>> crash?
>
> The landing pad would never be executed in the first place.  This
> is rather bad, for example cleanups won't be run.
>
>> (Perhaps I should put all this aside and just have my compiler handle
>> my invoke/unwind logic instead of trying to use invoke/unwind
>> instructions.)
>
> For the moment that is the best solution I think.
>
> Ciao,
>
> Duncan.
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>