summaryrefslogtreecommitdiffstats
path: root/compiler-rt/lib/tsan/tests/unit/tsan_sync_test.cc
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2016-06-27 11:14:59 +0000
committerDmitry Vyukov <dvyukov@google.com>2016-06-27 11:14:59 +0000
commitb3a51bdcd7115b0e91ee250696b5eaf843927f1c (patch)
tree3ba7aad6029e1bf0d177a9e5ab54f81f0a30f830 /compiler-rt/lib/tsan/tests/unit/tsan_sync_test.cc
parent3044c34c455a1098216e21c110de3d46afaec34b (diff)
downloadbcm5719-llvm-b3a51bdcd7115b0e91ee250696b5eaf843927f1c.tar.gz
bcm5719-llvm-b3a51bdcd7115b0e91ee250696b5eaf843927f1c.zip
tsan: don't create sync objects on acquire
Creating sync objects on acquire is pointless: acquire of a just created sync object if a no-op. llvm-svn: 273862
Diffstat (limited to 'compiler-rt/lib/tsan/tests/unit/tsan_sync_test.cc')
-rw-r--r--compiler-rt/lib/tsan/tests/unit/tsan_sync_test.cc14
1 files changed, 7 insertions, 7 deletions
diff --git a/compiler-rt/lib/tsan/tests/unit/tsan_sync_test.cc b/compiler-rt/lib/tsan/tests/unit/tsan_sync_test.cc
index 9e57a374c8d..80166547878 100644
--- a/compiler-rt/lib/tsan/tests/unit/tsan_sync_test.cc
+++ b/compiler-rt/lib/tsan/tests/unit/tsan_sync_test.cc
@@ -53,7 +53,7 @@ TEST(MetaMap, Sync) {
MetaMap *m = &ctx->metamap;
u64 block[4] = {}; // fake malloc block
m->AllocBlock(thr, 0, (uptr)&block[0], 4 * sizeof(u64));
- SyncVar *s1 = m->GetIfExistsAndLock((uptr)&block[0]);
+ SyncVar *s1 = m->GetIfExistsAndLock((uptr)&block[0], true);
EXPECT_EQ(s1, (SyncVar*)0);
s1 = m->GetOrCreateAndLock(thr, 0, (uptr)&block[0], true);
EXPECT_NE(s1, (SyncVar*)0);
@@ -64,9 +64,9 @@ TEST(MetaMap, Sync) {
EXPECT_EQ(s2->addr, (uptr)&block[1]);
s2->mtx.ReadUnlock();
m->FreeBlock(thr->proc(), (uptr)&block[0]);
- s1 = m->GetIfExistsAndLock((uptr)&block[0]);
+ s1 = m->GetIfExistsAndLock((uptr)&block[0], true);
EXPECT_EQ(s1, (SyncVar*)0);
- s2 = m->GetIfExistsAndLock((uptr)&block[1]);
+ s2 = m->GetIfExistsAndLock((uptr)&block[1], true);
EXPECT_EQ(s2, (SyncVar*)0);
m->OnProcIdle(thr->proc());
}
@@ -93,15 +93,15 @@ TEST(MetaMap, MoveMemory) {
mb2 = m->GetBlock((uptr)&block2[3]);
EXPECT_NE(mb2, (MBlock*)0);
EXPECT_EQ(mb2->siz, 1 * sizeof(u64));
- s1 = m->GetIfExistsAndLock((uptr)&block1[0]);
+ s1 = m->GetIfExistsAndLock((uptr)&block1[0], true);
EXPECT_EQ(s1, (SyncVar*)0);
- s2 = m->GetIfExistsAndLock((uptr)&block1[1]);
+ s2 = m->GetIfExistsAndLock((uptr)&block1[1], true);
EXPECT_EQ(s2, (SyncVar*)0);
- s1 = m->GetIfExistsAndLock((uptr)&block2[0]);
+ s1 = m->GetIfExistsAndLock((uptr)&block2[0], true);
EXPECT_NE(s1, (SyncVar*)0);
EXPECT_EQ(s1->addr, (uptr)&block2[0]);
s1->mtx.Unlock();
- s2 = m->GetIfExistsAndLock((uptr)&block2[1]);
+ s2 = m->GetIfExistsAndLock((uptr)&block2[1], true);
EXPECT_NE(s2, (SyncVar*)0);
EXPECT_EQ(s2->addr, (uptr)&block2[1]);
s2->mtx.Unlock();
OpenPOWER on IntegriCloud