[PATCH] D20913: [asan] add primitives that allow coroutine implementations
Philippe Daouadi via llvm-commits
llvm-commits at lists.llvm.org
Mon Jun 13 13:24:55 PDT 2016
blastrock updated this revision to Diff 60593.
blastrock marked an inline comment as done.
blastrock added a comment.
Here's what's new:
- replaced warnings by asserts when calling start/finish_switch_fiber in wrong order
- simplified code with only one atomic as suggested by @dvyukov
- clang-formatted the two test files
- removed the useless x/s argument from the test, the signal now always triggers
- replaced ThrowAndCatch by a call to a noreturn function that will longjmp back
- replaced some exit(0) by exit(1) in the test
- loop 30 times instead of doing a single run
A few points that need checking:
- I added some atomic_load()s because of the bool that was changed to atomic, I choose a relaxed memory order there, I think it is enough.
- I didn't use an atomic<int> but atomic_uint8_t to save some space, it shouldn't be harmful.
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 16958 bytes
Desc: not available
More information about the llvm-commits