diff options
author | Abseil Team <absl-team@google.com> | 2020-10-12 10:33:47 -0700 |
---|---|---|
committer | Derek Mauro <dmauro@google.com> | 2020-10-12 13:39:27 -0400 |
commit | 4b2fbb4adba905eede6c61b4494acfdb660a3bb7 (patch) | |
tree | d9de8cc04a7794a9269273a94ddda146fa0b67cf /absl/synchronization/mutex.cc | |
parent | e493d6acb426542ec90db9baf749d0c521ed3302 (diff) |
Export of internal Abseil changes
--
a5af5874c1c5cc02bd2a748d455321f82b6f2a93 by Andy Getzendanner <durandal@google.com>:
fix compile fails with asan and -Wredundant-decls
Import of https://github.com/abseil/abseil-cpp/pull/801
PiperOrigin-RevId: 336693223
--
ed9df42ab2b742386c6692c2bed015374c919d9c by Derek Mauro <dmauro@google.com>:
Fix integer conversion warning
Fixes #814
PiperOrigin-RevId: 336651814
--
0ab4c23884e72dce17b67c1eb520f9dbb802565d by Derek Mauro <dmauro@google.com>:
Internal change
PiperOrigin-RevId: 336585378
--
eba0e3dccd52a6e91bcff84075bef0affc650b74 by Matt Kulukundis <kfm@google.com>:
Add bitset operations to Futex helper.
PiperOrigin-RevId: 336409368
--
8b0709a8b4500bf5f0af4b602d76a298d81645e8 by Abseil Team <absl-team@google.com>:
Fix code indentation in a comment.
PiperOrigin-RevId: 336368167
--
bc3961c87a7e7760c10319a5b0349c279f7ae3ad by Samuel Benzaquen <sbenza@google.com>:
Improve performance of the registry:
- Reduce contention
- Reduce memory usage for each flag by `6*sizeof(void*)`.
- Replace one immortal allocation per-flag with a single one for all the flags
- Slightly improve single-threaded performance by avoiding the std::map indirections.
PiperOrigin-RevId: 336365904
--
264ad9f28f935aad8b6b1437f8bf804fa9104346 by Abseil Team <absl-team@google.com>:
Fix typo in comment on absl::Condition.
PiperOrigin-RevId: 336311680
--
b5b808a8c75ca0df7b09eff9a423ec171d80f771 by Derek Mauro <dmauro@google.com>:
Add missing Apache license headers
PiperOrigin-RevId: 336294980
--
89446c3a4793df8b95060385cf3e219357c3db1d by Andy Soffer <asoffer@google.com>:
Internal changes
PiperOrigin-RevId: 336287465
--
57c8be4e294881bc79a6a44b8e4bf7ecbb19b9b9 by Matt Kulukundis <kfm@google.com>:
Extract Futex from an implementation detail of Wait to a private interface.
PiperOrigin-RevId: 336123209
GitOrigin-RevId: a5af5874c1c5cc02bd2a748d455321f82b6f2a93
Change-Id: Ie5a0ebe28e571814e3e11d4c05ca308523ccf311
Diffstat (limited to 'absl/synchronization/mutex.cc')
-rw-r--r-- | absl/synchronization/mutex.cc | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/absl/synchronization/mutex.cc b/absl/synchronization/mutex.cc index 9b7f088a..63f09408 100644 --- a/absl/synchronization/mutex.cc +++ b/absl/synchronization/mutex.cc @@ -88,8 +88,8 @@ ABSL_CONST_INIT std::atomic<OnDeadlockCycle> synch_deadlock_detection( ABSL_CONST_INIT std::atomic<bool> synch_check_invariants(false); ABSL_INTERNAL_ATOMIC_HOOK_ATTRIBUTES - absl::base_internal::AtomicHook<void (*)(int64_t wait_cycles)> - submit_profile_data; +absl::base_internal::AtomicHook<void (*)(int64_t wait_cycles)> + submit_profile_data; ABSL_INTERNAL_ATOMIC_HOOK_ATTRIBUTES absl::base_internal::AtomicHook<void (*)( const char *msg, const void *obj, int64_t wait_cycles)> mutex_tracer; @@ -491,7 +491,7 @@ struct SynchWaitParams { std::atomic<intptr_t> *cv_word; int64_t contention_start_cycles; // Time (in cycles) when this thread started - // to contend for the mutex. + // to contend for the mutex. }; struct SynchLocksHeld { @@ -2311,7 +2311,8 @@ ABSL_ATTRIBUTE_NOINLINE void Mutex::UnlockSlow(SynchWaitParams *waitp) { if (!cond_waiter) { // Sample lock contention events only if the (first) waiter was trying to // acquire the lock, not waiting on a condition variable or Condition. - int64_t wait_cycles = base_internal::CycleClock::Now() - enqueue_timestamp; + int64_t wait_cycles = + base_internal::CycleClock::Now() - enqueue_timestamp; mutex_tracer("slow release", this, wait_cycles); ABSL_TSAN_MUTEX_PRE_DIVERT(this, 0); submit_profile_data(enqueue_timestamp); |