Displaying 4 results from an estimated 4 matches for "end_cleanup".
2010 Dec 02
5
[LLVMdev] Alternative exception handling proposal
...tion, 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
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 02
0
[LLVMdev] Alternative exception handling proposal
...sed 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 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