diff options
author | Abseil Team <absl-team@google.com> | 2017-12-15T19·12-0800 |
---|---|---|
committer | Ashley Hedberg <ahedberg@google.com> | 2017-12-18T15·00-0500 |
commit | 4972c72c5cf2f27e2a0846ce9ff5d377d3f2b7af (patch) | |
tree | c95abdf920010c988925dbc22d11eb789552534d /absl/base/internal | |
parent | 6280bddf55e675219cacc25a6a12bc5ddc0fdc74 (diff) |
Changes imported from Abseil "staging" branch:
- f59c2332341d6b1a3e045d61eb0065f7a226f807 Avoid preprocessing '__CUDACC_VER__ >= 70000' on CUDA 9,... by Abseil Team <absl-team@google.com> - 12dd22cf967603e9a12d58abfe877989d61844e3 Internal change. by Greg Falcon <gfalcon@google.com> GitOrigin-RevId: f59c2332341d6b1a3e045d61eb0065f7a226f807 Change-Id: If4f5274e6d638a2ac86f1377e6ac0481dc584f19
Diffstat (limited to 'absl/base/internal')
-rw-r--r-- | absl/base/internal/malloc_hook.cc | 1 | ||||
-rw-r--r-- | absl/base/internal/spinlock.cc | 5 | ||||
-rw-r--r-- | absl/base/internal/spinlock.h | 6 | ||||
-rw-r--r-- | absl/base/internal/sysinfo.cc | 2 | ||||
-rw-r--r-- | absl/base/internal/thread_identity_test.cc | 1 |
5 files changed, 10 insertions, 5 deletions
diff --git a/absl/base/internal/malloc_hook.cc b/absl/base/internal/malloc_hook.cc index 7165d4cbd02a..52531c680148 100644 --- a/absl/base/internal/malloc_hook.cc +++ b/absl/base/internal/malloc_hook.cc @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include "absl/base/attributes.h" #include "absl/base/config.h" #if ABSL_HAVE_MMAP diff --git a/absl/base/internal/spinlock.cc b/absl/base/internal/spinlock.cc index 3ac1f4dc96c3..28a2059f3287 100644 --- a/absl/base/internal/spinlock.cc +++ b/absl/base/internal/spinlock.cc @@ -83,11 +83,6 @@ void RegisterSpinLockProfiler(void (*fn)(const void *contendedlock, submit_profile_data.Store(fn); } -static inline bool IsCooperative( - base_internal::SchedulingMode scheduling_mode) { - return scheduling_mode == base_internal::SCHEDULE_COOPERATIVE_AND_KERNEL; -} - // Uncommon constructors. SpinLock::SpinLock(base_internal::SchedulingMode mode) : lockword_(IsCooperative(mode) ? kSpinLockCooperative : 0) { diff --git a/absl/base/internal/spinlock.h b/absl/base/internal/spinlock.h index f486f68a04f9..a9037e3ed05c 100644 --- a/absl/base/internal/spinlock.h +++ b/absl/base/internal/spinlock.h @@ -151,6 +151,12 @@ class LOCKABLE SpinLock { enum { kWaitTimeMask = // Includes kSpinLockSleeper. ~(kSpinLockHeld | kSpinLockCooperative | kSpinLockDisabledScheduling) }; + // Returns true if the provided scheduling mode is cooperative. + static constexpr bool IsCooperative( + base_internal::SchedulingMode scheduling_mode) { + return scheduling_mode == base_internal::SCHEDULE_COOPERATIVE_AND_KERNEL; + } + uint32_t TryLockInternal(uint32_t lock_value, uint32_t wait_cycles); void InitLinkerInitializedAndCooperative(); void SlowLock() ABSL_ATTRIBUTE_COLD; diff --git a/absl/base/internal/sysinfo.cc b/absl/base/internal/sysinfo.cc index 884c31262877..dca7d8fdc020 100644 --- a/absl/base/internal/sysinfo.cc +++ b/absl/base/internal/sysinfo.cc @@ -14,6 +14,8 @@ #include "absl/base/internal/sysinfo.h" +#include "absl/base/attributes.h" + #ifdef _WIN32 #include <shlwapi.h> #include <windows.h> diff --git a/absl/base/internal/thread_identity_test.cc b/absl/base/internal/thread_identity_test.cc index 7695a091cdf9..ecb8af689829 100644 --- a/absl/base/internal/thread_identity_test.cc +++ b/absl/base/internal/thread_identity_test.cc @@ -18,6 +18,7 @@ #include <vector> #include "gtest/gtest.h" +#include "absl/base/attributes.h" #include "absl/base/internal/spinlock.h" #include "absl/base/macros.h" #include "absl/synchronization/internal/per_thread_sem.h" |