diff options
Diffstat (limited to 'deps/v8/src/sanitizer/tsan.h')
-rw-r--r-- | deps/v8/src/sanitizer/tsan.h | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/deps/v8/src/sanitizer/tsan.h b/deps/v8/src/sanitizer/tsan.h new file mode 100644 index 0000000000..0013b91bfc --- /dev/null +++ b/deps/v8/src/sanitizer/tsan.h @@ -0,0 +1,47 @@ +// Copyright 2017 the V8 project authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef V8_SANITIZER_TSAN_H_ +#define V8_SANITIZER_TSAN_H_ + +namespace v8 { +namespace base { + +// This file contains annotations for ThreadSanitizer (TSan), a race detector. +// See +// https://llvm.org/svn/llvm-project/compiler-rt/trunk/lib/tsan/rtl/tsan_interface_ann.cc + +#if THREAD_SANITIZER + +#define TSAN_ANNOTATE_IGNORE_READS_BEGIN \ + v8::base::AnnotateIgnoreReadsBegin(__FILE__, __LINE__) +#define TSAN_ANNOTATE_IGNORE_READS_END \ + v8::base::AnnotateIgnoreReadsEnd(__FILE__, __LINE__) +#define TSAN_ANNOTATE_IGNORE_WRITES_BEGIN \ + v8::base::AnnotateIgnoreWritesBegin(__FILE__, __LINE__) +#define TSAN_ANNOTATE_IGNORE_WRITES_END \ + v8::base::AnnotateIgnoreWritesEnd(__FILE__, __LINE__) + +extern "C" { + +void AnnotateIgnoreReadsBegin(const char* file, int line); +void AnnotateIgnoreReadsEnd(const char* file, int line); +void AnnotateIgnoreWritesBegin(const char* file, int line); +void AnnotateIgnoreWritesEnd(const char* file, int line); + +} // extern "C" + +#else + +#define TSAN_ANNOTATE_IGNORE_READS_BEGIN ((void)0) +#define TSAN_ANNOTATE_IGNORE_READS_END ((void)0) +#define TSAN_ANNOTATE_IGNORE_WRITES_BEGIN ((void)0) +#define TSAN_ANNOTATE_IGNORE_WRITES_END ((void)0) + +#endif + +} // namespace base +} // namespace v8 + +#endif // V8_SANITIZER_TSAN_H_ |