summaryrefslogtreecommitdiffstats
path: root/compiler-rt/lib/tsan/rtl/tsan_interface_java.h
Commit message (Collapse)AuthorAgeFilesLines
* tsan: add acquire/release functions to java interfaceDmitry Vyukov2014-12-221-0/+8
| | | | | | they are required to handle synchronization on volatile/final fields llvm-svn: 224697
* tsan: allow memory overlap in __tsan_java_moveDmitry Vyukov2014-07-081-1/+1
| | | | | | JVM actually moves memory between overlapping ranges. llvm-svn: 212560
* tsan: add __tsan_java_finalize interface functionDmitry Vyukov2014-06-271-0/+5
| | | | | | | It is required to prevent false positives between object ctor and finalizer, as otherwise they look completely unsynchronized. llvm-svn: 211829
* tsan: ignore interceptors coming from specified librariesDmitry Vyukov2013-10-031-5/+1
| | | | | | | | | | | | | 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
* tsan: ignore all interceptors coming directly from JVMDmitry Vyukov2013-09-211-1/+5
| | | | llvm-svn: 191152
* tsan: introduce recursive mutex lock/unlock java interfaceDmitry Vyukov2013-05-171-2/+11
| | | | | | this is required to handle Object.Wait() llvm-svn: 182088
* tsan: add a high-level comment to tsan_interface_java.hDmitry Vyukov2012-12-211-0/+11
| | | | llvm-svn: 170881
* tsan: add java interface implementation stubDmitry Vyukov2012-12-201-1/+0
| | | | llvm-svn: 170681
* tsan: add Java interfaceDmitry Vyukov2012-12-201-0/+64
llvm-svn: 170679
OpenPOWER on IntegriCloud