Kostya Serebryany
|
1ee681305f
|
[asan] introduce two functions that will allow implementations of C++ garbage colection to work with asan's fake stack
llvm-svn: 200908
|
2014-02-06 06:56:22 +00:00 |
Kostya Serebryany
|
7a3a93f112
|
[asan] if verbosity>=2, print the fake stack usage stats at thread exit; No functionality change in non-verboze mode
llvm-svn: 197037
|
2013-12-11 13:54:01 +00:00 |
Sergey Matveev
|
43d90cbd86
|
[lsan] Support ASan's stack-use-after-return mode in LSan.
Treat the fake stack as live memory.
llvm-svn: 192593
|
2013-10-14 14:04:50 +00:00 |
Kostya Serebryany
|
3c42ce1516
|
[asan] introduce run-time flag uar_stack_size_log to control the size of FakeStack; don't crash when the fake stack is exhausted, move some code to .cc file
llvm-svn: 191510
|
2013-09-27 11:37:23 +00:00 |
Kostya Serebryany
|
2ab5a48dbe
|
[asan] nuke yet another async-signal-safety bug in UAR (oh, my)
llvm-svn: 191080
|
2013-09-20 09:16:21 +00:00 |
Kostya Serebryany
|
2f5c2be6bd
|
[asan] further speedup use-after-return: simplify deallocation of fake frames. ~ 20% speedup.
llvm-svn: 190852
|
2013-09-17 07:42:54 +00:00 |
Kostya Serebryany
|
9583b87077
|
[asan] don't record the class_id in FakeFrame (scratching the last bits of performance)
llvm-svn: 190666
|
2013-09-13 07:50:44 +00:00 |
Kostya Serebryany
|
4117bdbbbc
|
[asan] more performance to FakeStack: a) don't used atomic exchange, instead rely on regular load and store and other signal-safe logic; b) remove allocated_from_size_class_mask_ which is not helping much anyway; Another 10% speedup
llvm-svn: 190664
|
2013-09-13 07:20:35 +00:00 |
Kostya Serebryany
|
43c4493b44
|
[asan] second attempt to use TLS with fake stack. This time it looks (more) async-signal safe.
llvm-svn: 190663
|
2013-09-13 06:32:26 +00:00 |
Kostya Serebryany
|
7638aa135e
|
[asan] a bit of performance improvement in fake stack, generalized one test, fixed android build of another test
llvm-svn: 190606
|
2013-09-12 14:41:10 +00:00 |
Kostya Serebryany
|
627ea6391e
|
[asan] add a test for use-after-return and exceptions and fix it. Not 100% sure this is a complete fix, will keep looking for harder cases.
llvm-svn: 190603
|
2013-09-12 13:25:29 +00:00 |
Kostya Serebryany
|
79d98a851b
|
[asan] limit the size of the fake stack with a reasonable constant. This fixes a failure when the main thread's stack is considered unlimited (very large).
llvm-svn: 190596
|
2013-09-12 09:08:13 +00:00 |
Kostya Serebryany
|
628cda7367
|
[asan] hopefully make the FakeStack async-signal safe, enable the related test
llvm-svn: 190592
|
2013-09-12 08:34:50 +00:00 |
Kostya Serebryany
|
729c8dc65b
|
[asan] fully re-implement the FakeStack (use-after-return) to make it faster and async-signal-safe. The implementation is not yet complete (see FIXMEs) but the existing tests pass.
llvm-svn: 190588
|
2013-09-12 07:11:58 +00:00 |
Kostya Serebryany
|
8fc35ca008
|
[asan] refactor the use-after-return API so that the size class is computed at compile time instead of at run-time. compiler-rt part
llvm-svn: 190406
|
2013-09-10 13:16:26 +00:00 |
Kostya Serebryany
|
1f13414d45
|
[asan] make use-after-return handle very deep recursion; fixes 483.xalancbmk in UAR mode
llvm-svn: 189929
|
2013-09-04 10:59:32 +00:00 |
Kostya Serebryany
|
6a068a715d
|
[asan] initialize fake_stack lazily and increase its maximal size. This makes -fsanitize=address,use-after-return more robust: all SPEC tests pass now. In the default mode thread stacks become a bit smaller.
llvm-svn: 184934
|
2013-06-26 12:16:05 +00:00 |
Timur Iskhodzhanov
|
cc61eefd4b
|
Fix MSVC W3 compiler warnings
llvm-svn: 182857
|
2013-05-29 14:11:44 +00:00 |
Kostya Serebryany
|
18f0820552
|
[asan] make heavy_uar_test a bit more heavy and fix he fake stack to pass this test
llvm-svn: 179286
|
2013-04-11 14:07:02 +00:00 |
Kostya Serebryany
|
3fec2f534a
|
[asan] fix use-after-return functionality (PR15672) and enable the corresponding test. We still don't guarantee anything with regard to use-after-return checking
llvm-svn: 179278
|
2013-04-11 12:49:38 +00:00 |
Kostya Serebryany
|
4e0a33c8be
|
[asan] move fake stack into a separate .h file; actually disable a failing test
llvm-svn: 179273
|
2013-04-11 11:39:19 +00:00 |