[PATCH] tsan: support C++ exceptions
Dmitry Vyukov
dvyukov at google.com
Mon Jun 29 10:57:45 PDT 2015
> In what sense do you mean control does not leave the function?
In the direct sense. Sometimes control leave the current function on exception, and sometimes it is not. I need to execute __tsan_func_exit only for the latter cases.
> Think of 'resume' as 'ret' for exception handling. It means "transfer
> control to the next landingpad up the stack", similar to how return
> transfers to the return address. You could also insert your code before
> every 'resume' if you want to avoid dealing branches, phis, etc.
But it is possible that the next landingpad up the stack is within the same function. In such case I don't need to execute __tsan_func_exit. That's what I tried to show with the examples.
http://reviews.llvm.org/D10740
EMAIL PREFERENCES
http://reviews.llvm.org/settings/panel/emailpreferences/
More information about the llvm-commits
mailing list