{"push_id":854142636,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"29bf03d9354ed3bf0c0e5033e4d39ff6d3ac6612","before":"e387c400041957b4d75e46ffae0dfb83bf16404a","commits":[{"sha":"29bf03d9354ed3bf0c0e5033e4d39ff6d3ac6612","author":{"email":"28fb0c2041b49a1f6ac008bb036f1ac0d5d96bc1@gmail.com","name":"Kuba Brecka"},"message":"[tsan] Alternative ThreadState storage for OS X\n\nThis implements a \"poor man's TLV\" to be used for TSan's ThreadState on OS X. Based on the fact that `pthread_self()` is always available and reliable and returns a valid pointer to memory, we'll use the shadow memory of this pointer as a thread-local storage. No user code should ever read/write to this internal libpthread structure, so it's safe to use it for this purpose. We lazily allocate the ThreadState object and store the pointer here.\n\nDifferential Revision: http://reviews.llvm.org/D14288\n\n\n\ngit-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@252159 91177308-0d34-0410-b5e6-96231b3b80d8","distinct":true,"url":"https://api.github.com/repos/llvm-project/compiler-rt/commits/29bf03d9354ed3bf0c0e5033e4d39ff6d3ac6612"}]}