Displaying 6 results from an estimated 6 matches for "_cxa_end_cleanup".
2010 Dec 02
0
[LLVMdev] Alternative exception handling proposal
...n passed as the
>> argument to _Unwind_Resume, In fact codegen already does this!
>
> I'm unhappy about how this bakes _Unwind_Resume into the backend, particularly
> since that prevents us from using better alternatives when they're available
> (e.g. the ARM EH ABI's _cxa_end_cleanup(), which saves code size by not requiring
> the exception pointer, but which we can only use if we're linking in the C++ standard
> library).
the code generators can lower "unwind" to a call to _cxa_end_cleanup on that
platform.
> One idea that comes to mind is that we coul...
2010 Dec 02
5
[LLVMdev] Alternative exception handling proposal
...exception, which is then passed as the
> argument to _Unwind_Resume, In fact codegen already does this!
I'm unhappy about how this bakes _Unwind_Resume into the backend, particularly
since that prevents us from using better alternatives when they're available
(e.g. the ARM EH ABI's _cxa_end_cleanup(), which saves code size by not requiring
the exception pointer, but which we can only use if we're linking in the C++ standard
library).
One idea that comes to mind is that we could make Yet Another call-like instruction,
a terminator like 'invoke' but with no successors and with the...
2010 Dec 02
2
[LLVMdev] Alternative exception handling proposal
On Dec 2, 2010, at 4:45 AM, Duncan Sands wrote:
>> I'm unhappy about how this bakes _Unwind_Resume into the backend, particularly
>> since that prevents us from using better alternatives when they're available
>> (e.g. the ARM EH ABI's _cxa_end_cleanup(), which saves code size by not requiring
>> the exception pointer, but which we can only use if we're linking in the C++ standard
>> library).
>
> the code generators can lower "unwind" to a call to _cxa_end_cleanup on that
> platform.
No, they can't, it...
2010 Dec 02
0
[LLVMdev] Alternative exception handling proposal
Hi John,
>>> I'm unhappy about how this bakes _Unwind_Resume into the backend, particularly
>>> since that prevents us from using better alternatives when they're available
>>> (e.g. the ARM EH ABI's _cxa_end_cleanup(), which saves code size by not requiring
>>> the exception pointer, but which we can only use if we're linking in the C++
>>> standard
>>> library).
>>
>> the code generators can lower "unwind" to a call to _cxa_end_cleanup on that
>> plat...
2010 Dec 02
0
[LLVMdev] Alternative exception handling proposal
Two amendments:
> The semantics of the invoke instruction are slightly modified: if an exception
> unwinds and it doesn't match anything in the list of catches and filters,
> and there is no cleanup, then control doesn't branch to the unwind label,
> unwinding simply continues out of the function.
in fact the new semantics would be that if an exception doesn't match then
2010 Dec 01
8
[LLVMdev] Alternative exception handling proposal
Here is an alternative proposal to Bill's. It is closer to what we already
have (which can be seen as a good or a bad thing!), and is also closer to
what gcc does. It is more incremental than Bill's and introduces fewer
new concepts.
Executive summary
-----------------
Remove the personality and list of catches out of eh.selector and stick them
directly on invoke instructions.
The