summaryrefslogtreecommitdiffstats
path: root/compiler-rt/lib/tsan/rtl/tsan_interface_java.cc
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2013-10-03 13:37:17 +0000
committerDmitry Vyukov <dvyukov@google.com>2013-10-03 13:37:17 +0000
commit5ba736457c94580b9cf8a0a65fccf9a89da0b1a6 (patch)
treeafa352b57a63c0e8b42932077375b7c6310a3515 /compiler-rt/lib/tsan/rtl/tsan_interface_java.cc
parentd2757ba1be2915c8f41dd850ffdda8ff6a673382 (diff)
downloadbcm5719-llvm-5ba736457c94580b9cf8a0a65fccf9a89da0b1a6.tar.gz
bcm5719-llvm-5ba736457c94580b9cf8a0a65fccf9a89da0b1a6.zip
tsan: ignore interceptors coming from specified libraries
LibIgnore allows to ignore all interceptors called from a particular set of dynamic libraries. LibIgnore remembers all "called_from_lib" suppressions from the provided SuppressionContext; finds code ranges for the libraries; and checks whether the provided PC value belongs to the code ranges. Also make malloc and friends interceptors use SCOPED_INTERCEPTOR_RAW instead of SCOPED_TSAN_INTERCEPTOR, because if they are called from an ignored lib, then must call our internal allocator instead of libc malloc. llvm-svn: 191897
Diffstat (limited to 'compiler-rt/lib/tsan/rtl/tsan_interface_java.cc')
-rw-r--r--compiler-rt/lib/tsan/rtl/tsan_interface_java.cc13
1 files changed, 0 insertions, 13 deletions
diff --git a/compiler-rt/lib/tsan/rtl/tsan_interface_java.cc b/compiler-rt/lib/tsan/rtl/tsan_interface_java.cc
index 2ac3249acf5..53f14cf07b5 100644
--- a/compiler-rt/lib/tsan/rtl/tsan_interface_java.cc
+++ b/compiler-rt/lib/tsan/rtl/tsan_interface_java.cc
@@ -96,8 +96,6 @@ class ScopedJavaFunc {
static u64 jctx_buf[sizeof(JavaContext) / sizeof(u64) + 1];
static JavaContext *jctx;
-extern atomic_uintptr_t libjvm_begin;
-extern atomic_uintptr_t libjvm_end;
static BlockDesc *getblock(uptr addr) {
uptr i = (addr - jctx->heap_begin) / kHeapAlignment;
@@ -166,17 +164,6 @@ SyncVar* GetAndRemoveJavaSync(ThreadState *thr, uptr pc, uptr addr) {
ScopedJavaFunc scoped(thr, caller_pc); \
/**/
-void __tsan_java_preinit(const char *libjvm_path) {
- SCOPED_JAVA_FUNC(__tsan_java_preinit);
- if (libjvm_path) {
- uptr begin, end;
- if (GetCodeRangeForFile(libjvm_path, &begin, &end)) {
- atomic_store(&libjvm_begin, begin, memory_order_relaxed);
- atomic_store(&libjvm_end, end, memory_order_relaxed);
- }
- }
-}
-
void __tsan_java_init(jptr heap_begin, jptr heap_size) {
SCOPED_JAVA_FUNC(__tsan_java_init);
DPrintf("#%d: java_init(%p, %p)\n", thr->tid, heap_begin, heap_size);
OpenPOWER on IntegriCloud