summaryrefslogtreecommitdiff
path: root/lib/tsan/rtl/tsan_interface_java.h
AgeCommit message (Collapse)Author
2016-12-14tsan: allow Java VM iterate over allocated objectsDmitry Vyukov
Objects may move during the garbage collection, and JVM needs to notify ThreadAnalyzer about that. The new function __tsan_java_find eliminates the need to maintain these objects both in ThreadAnalyzer and JVM. Author: Alexander Smundak (asmundak) Reviewed in https://reviews.llvm.org/D27720 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@289682 91177308-0d34-0410-b5e6-96231b3b80d8
2014-12-22tsan: add acquire/release functions to java interfaceDmitry Vyukov
they are required to handle synchronization on volatile/final fields git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@224697 91177308-0d34-0410-b5e6-96231b3b80d8
2014-07-08tsan: allow memory overlap in __tsan_java_moveDmitry Vyukov
JVM actually moves memory between overlapping ranges. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@212560 91177308-0d34-0410-b5e6-96231b3b80d8
2014-06-27tsan: add __tsan_java_finalize interface functionDmitry Vyukov
It is required to prevent false positives between object ctor and finalizer, as otherwise they look completely unsynchronized. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@211829 91177308-0d34-0410-b5e6-96231b3b80d8
2013-10-03tsan: ignore interceptors coming from specified librariesDmitry Vyukov
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. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@191897 91177308-0d34-0410-b5e6-96231b3b80d8
2013-09-21tsan: ignore all interceptors coming directly from JVMDmitry Vyukov
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@191152 91177308-0d34-0410-b5e6-96231b3b80d8
2013-05-17tsan: introduce recursive mutex lock/unlock java interfaceDmitry Vyukov
this is required to handle Object.Wait() git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@182088 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-21tsan: add a high-level comment to tsan_interface_java.hDmitry Vyukov
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@170881 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-20tsan: add java interface implementation stubDmitry Vyukov
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@170681 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-20tsan: add Java interfaceDmitry Vyukov
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@170679 91177308-0d34-0410-b5e6-96231b3b80d8