summaryrefslogtreecommitdiff
path: root/lib/tsan/rtl/tsan_defs.h
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2012-12-04 12:19:53 +0000
committerDmitry Vyukov <dvyukov@google.com>2012-12-04 12:19:53 +0000
commit0415ac00935795a70d87ae662ccad58ea0704537 (patch)
tree7d487c30b84708c14c6c39dba29989054f7f7eb7 /lib/tsan/rtl/tsan_defs.h
parent43811a14504f1ff473b40c194a3e9054e2ea46a4 (diff)
tsan: fix trace handling when trace is reused between threads
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@169259 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/tsan/rtl/tsan_defs.h')
-rw-r--r--lib/tsan/rtl/tsan_defs.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/lib/tsan/rtl/tsan_defs.h b/lib/tsan/rtl/tsan_defs.h
index 6d8e9cfc3..3a530041d 100644
--- a/lib/tsan/rtl/tsan_defs.h
+++ b/lib/tsan/rtl/tsan_defs.h
@@ -128,11 +128,17 @@ T max(T a, T b) {
}
template<typename T>
-T RoundUp(T p, int align) {
+T RoundUp(T p, u64 align) {
DCHECK_EQ(align & (align - 1), 0);
return (T)(((u64)p + align - 1) & ~(align - 1));
}
+template<typename T>
+T RoundDown(T p, u64 align) {
+ DCHECK_EQ(align & (align - 1), 0);
+ return (T)((u64)p & ~(align - 1));
+}
+
struct MD5Hash {
u64 hash[2];
bool operator==(const MD5Hash &other) const;