Alexey Samsonov
71b471fa09
[TSan] Try to fix Go runtime build
...
llvm-svn: 215000
2014-08-06 23:13:23 +00:00
Dmitry Vyukov
a8df247f5a
tsan: expose atomic operations in Go runtime
...
llvm-svn: 213382
2014-07-18 14:54:02 +00:00
Dmitry Vyukov
73e1804c21
tsan: add Go build script for freebsd
...
llvm-svn: 211419
2014-06-20 22:53:43 +00:00
Dmitry Vyukov
8744b1c1e3
tsan: allow to build Go runtime with clang + enable SSE3
...
llvm-svn: 210344
2014-06-06 15:49:49 +00:00
Dmitry Vyukov
bde4c9c773
tsan: refactor storage of meta information for heap blocks and sync objects
...
The new storage (MetaMap) is based on direct shadow (instead of a hashmap + per-block lists).
This solves a number of problems:
- eliminates quadratic behaviour in SyncTab::GetAndLock (https://code.google.com/p/thread-sanitizer/issues/detail?id=26 )
- eliminates contention in SyncTab
- eliminates contention in internal allocator during allocation of sync objects
- removes a bunch of ad-hoc code in java interface
- reduces java shadow from 2x to 1/2x
- allows to memorize heap block meta info for Java and Go
- allows to cleanup sync object meta info for Go
- which in turn enabled deadlock detector for Go
llvm-svn: 209810
2014-05-29 13:50:54 +00:00
Evgeniy Stepanov
f77f2ece71
[tsan] Fix gotsan build.
...
llvm-svn: 209286
2014-05-21 09:42:56 +00:00
Dmitry Vyukov
bbbe6bba8a
tsan: preliminary support for Go deadlock detector
...
llvm-svn: 204228
2014-03-19 12:50:47 +00:00
Alexey Samsonov
18adbc361a
Remove sanitizer_linux_libcdep.cc from TSan-Go build
...
llvm-svn: 203238
2014-03-07 13:17:32 +00:00
Dmitry Vyukov
6cfab724ec
tsan: refactor deadlock detector
...
Introduce DDetector interface between the tool and the DD itself.
It will help to experiment with other DD implementation,
as well as reuse DD in other tools.
llvm-svn: 202485
2014-02-28 10:48:13 +00:00
Dmitry Vyukov
9ba840865f
tsan: simplify Go build script
...
we don't use assembly files
llvm-svn: 200916
2014-02-06 09:23:12 +00:00
Alexey Samsonov
782ad0eb71
[Sanitizer] Remove now unused symbolization functionality from MemoryMappingLayout
...
llvm-svn: 198014
2013-12-25 12:11:06 +00:00
Alexey Samsonov
ceeb0e0657
[TSan] fix Go build
...
llvm-svn: 198005
2013-12-25 08:56:08 +00:00
Dmitry Vyukov
302ec7b9bc
tsan: add memory_limit_mb flag
...
The flag allows to bound maximum process memory consumption (best effort).
If RSS reaches memory_limit_mb, tsan flushes all shadow memory.
llvm-svn: 191913
2013-10-03 17:14:35 +00:00
Dmitry Vyukov
2ea2d9cb29
tsan: remove unneeded ___chkstk_ms function from Go runtime
...
llvm-svn: 191161
2013-09-22 02:49:56 +00:00
Dmitry Vyukov
f6ea6a5a19
tsan: better report formatting for Go
...
Say that gorotuine 1 is main goroutine.
Remove excessive new line.
llvm-svn: 188542
2013-08-16 11:15:14 +00:00
Alexey Samsonov
ecdcf11bd6
[TSan] try to fix Go build
...
llvm-svn: 185063
2013-06-27 07:57:53 +00:00
Dmitry Vyukov
a8570d38fe
tsan: add -Wno-maybe-uninitialized to Go build script
...
this is how the rest of the codebase is built
llvm-svn: 183738
2013-06-11 11:44:43 +00:00
Dmitry Vyukov
c9e304afbd
tsan: fix darwin Go build
...
llvm-svn: 183402
2013-06-06 13:00:32 +00:00
Peter Collingbourne
8575195772
[nolibc] Move libc-dependent sanitizer_posix.cc code to sanitizer_posix_libcdep.cc.
...
llvm-svn: 182366
2013-05-21 10:27:07 +00:00
Peter Collingbourne
0c8df4e1d8
[nolibc] Move libc-dependent sanitizer_linux.cc code to sanitizer_linux_libcdep.cc.
...
llvm-svn: 182292
2013-05-20 15:57:44 +00:00
Dmitry Vyukov
50160030e1
tsan: fix Go build
...
llvm-svn: 177260
2013-03-18 08:52:46 +00:00
Dmitry Vyukov
714accd917
tsan: add sanity test for Go runtime into presubmit test
...
llvm-svn: 170185
2012-12-14 10:10:57 +00:00
Dmitry Vyukov
e829b6231a
tsan: change TSAN_OPTIONS->GORACE in build script as well
...
llvm-svn: 167578
2012-11-08 13:23:13 +00:00
Dmitry Vyukov
c015712992
tsan: lazily allocate shadow for Go
...
llvm-svn: 167464
2012-11-06 16:00:16 +00:00
Dmitry Vyukov
7234a5b54d
tsan: update script to support windows
...
llvm-svn: 167456
2012-11-06 13:32:53 +00:00
Dmitry Vyukov
1ec08f3627
tsan: fix Go build
...
llvm-svn: 167446
2012-11-06 12:46:26 +00:00
Dmitry Vyukov
c7bcaf8512
tsan: fix Go build
...
llvm-svn: 164198
2012-09-19 04:39:36 +00:00
Dmitry Vyukov
50d49238a6
tsan: fix Go build script
...
llvm-svn: 163320
2012-09-06 15:10:19 +00:00
Dmitry Vyukov
81a78ad59c
tsan: handle larger number of goroutines + fix a memory leak of goroutine descriptors
...
llvm-svn: 161770
2012-08-13 18:44:44 +00:00
Dmitry Vyukov
904d3f9c06
tsan: add ReleaseStore() function that merely copies vector clock rather than combines two clocks
...
fix clock setup for finalizer goroutine (Go runtime)
llvm-svn: 160918
2012-07-28 15:27:41 +00:00
Dmitry Vyukov
4e94662db4
tsan: change event handling from single HandleEvent() to a set of separate functions (Go runtime)
...
llvm-svn: 160863
2012-07-27 14:00:39 +00:00
Dmitry Vyukov
65ec6684c2
tsan: make the runtime library name tsan-neutral for Go upstream
...
llvm-svn: 160797
2012-07-26 18:42:51 +00:00
Dmitry Vyukov
55b405ef42
tsan: allow environment to override OnReport() and OverrideFlags()
...
llvm-svn: 160728
2012-07-25 14:30:51 +00:00
Dmitry Vyukov
f2bc464f37
tsan: add platform suffix to Go runtime library
...
llvm-svn: 160304
2012-07-16 18:25:43 +00:00
Dmitry Vyukov
c40c00767c
tsan: port Go runtime to Darwin
...
llvm-svn: 160266
2012-07-16 13:02:40 +00:00
Dmitry Vyukov
263efd8f05
tsan: allow to pass CFLAGS to Go runtime build script
...
llvm-svn: 160259
2012-07-16 10:36:39 +00:00
Dmitry Vyukov
239ae7186b
tsan: Go language support fixes
...
llvm-svn: 159856
2012-07-06 20:23:59 +00:00
Dmitry Vyukov
e0d31e9170
tsan: Go lang: symbolize stack traces
...
llvm-svn: 159827
2012-07-06 14:54:25 +00:00
Dmitry Vyukov
03d32ecd4f
tsan: Go language support
...
llvm-svn: 159754
2012-07-05 16:18:28 +00:00