go/src/pkg/runtime/race
Dmitriy Vyukov f16729781b runtime/race: better handling of atomic operations
This change fixes the last known false negative of the race detector --
detection of races between mutating atomic operations and non-atomic operations.
Race runtime already has functions for precise modelling of various atomic operations,
so this change just forwards all atomic ops to race runtime
instead of poor man modeling in sync/atomic package.
Performance is also improved -- full sync/atomic tests run in 60s instead of 85s now.

LGTM=khr
R=golang-codereviews, khr
CC=golang-codereviews, rsc
https://golang.org/cl/111310044
2014-09-01 08:04:33 -04:00
..
testdata runtime/race: better handling of atomic operations 2014-09-01 08:04:33 -04:00
README runtime/race: better handling of atomic operations 2014-09-01 08:04:33 -04:00
doc.go
output_test.go
race.go runtime/race: support freebsd 2014-06-20 20:20:56 -04:00
race_darwin_amd64.syso runtime/race: better handling of atomic operations 2014-09-01 08:04:33 -04:00
race_freebsd_amd64.syso runtime/race: better handling of atomic operations 2014-09-01 08:04:33 -04:00
race_linux_amd64.syso runtime/race: better handling of atomic operations 2014-09-01 08:04:33 -04:00
race_test.go
race_windows_amd64.syso runtime/race: better handling of atomic operations 2014-09-01 08:04:33 -04:00

README

runtime/race package contains the data race detector runtime library.
It is based on ThreadSanitizer race detector, that is currently a part of
the LLVM project.

To update the .syso files you need to:
$ svn co http://llvm.org/svn/llvm-project/compiler-rt/trunk
$ cd compiler-rt/lib/tsan/go
$ ./buildgo.sh

Tested with gcc 4.6.1 and 4.7.0.  On Windows it's built with 64-bit MinGW.

Current runtime is built on rev 215000.