diff options
Diffstat (limited to 'lib/tsan/lit_tests/java_lock_move.cc')
-rw-r--r-- | lib/tsan/lit_tests/java_lock_move.cc | 40 |
1 files changed, 0 insertions, 40 deletions
diff --git a/lib/tsan/lit_tests/java_lock_move.cc b/lib/tsan/lit_tests/java_lock_move.cc deleted file mode 100644 index 48b5a5a88d33..000000000000 --- a/lib/tsan/lit_tests/java_lock_move.cc +++ /dev/null @@ -1,40 +0,0 @@ -// RUN: %clangxx_tsan -O1 %s -o %t && %t 2>&1 | FileCheck %s -#include "java.h" - -jptr varaddr; -jptr lockaddr; -jptr varaddr2; -jptr lockaddr2; - -void *Thread(void *p) { - sleep(1); - __tsan_java_mutex_lock(lockaddr2); - *(int*)varaddr2 = 42; - __tsan_java_mutex_unlock(lockaddr2); - return 0; -} - -int main() { - int const kHeapSize = 1024 * 1024; - void *jheap = malloc(kHeapSize); - __tsan_java_init((jptr)jheap, kHeapSize); - const int kBlockSize = 64; - int const kMove = 1024; - __tsan_java_alloc((jptr)jheap, kBlockSize); - varaddr = (jptr)jheap; - lockaddr = (jptr)jheap + 46; - varaddr2 = varaddr + kMove; - lockaddr2 = lockaddr + kMove; - pthread_t th; - pthread_create(&th, 0, Thread, 0); - __tsan_java_mutex_lock(lockaddr); - *(int*)varaddr = 43; - __tsan_java_mutex_unlock(lockaddr); - __tsan_java_move(varaddr, varaddr2, kBlockSize); - pthread_join(th, 0); - __tsan_java_free(varaddr2, kBlockSize); - printf("OK\n"); - return __tsan_java_fini(); -} - -// CHECK-NOT: WARNING: ThreadSanitizer: data race |