diff options
| author | Howard Hinnant <hhinnant@apple.com> | 2013-03-16 00:17:53 +0000 |
|---|---|---|
| committer | Howard Hinnant <hhinnant@apple.com> | 2013-03-16 00:17:53 +0000 |
| commit | 5efca64dd95cb236241252173fab1eac96c8140f (patch) | |
| tree | da8df798d9ceb4040300d41dae0648b65ff07492 /libcxx | |
| parent | 58dd990c112ada1d37813f95fe4a929dee46a476 (diff) | |
| download | bcm5719-llvm-5efca64dd95cb236241252173fab1eac96c8140f.tar.gz bcm5719-llvm-5efca64dd95cb236241252173fab1eac96c8140f.zip | |
This should be nothing but a load-time optimization. I'm trying to reduce load time initializers and this is a big one. No visible functionality change intended.
llvm-svn: 177212
Diffstat (limited to 'libcxx')
| -rw-r--r-- | libcxx/src/memory.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/libcxx/src/memory.cpp b/libcxx/src/memory.cpp index 14084a5206a..98bcc864eeb 100644 --- a/libcxx/src/memory.cpp +++ b/libcxx/src/memory.cpp @@ -122,7 +122,15 @@ __shared_weak_count::__get_deleter(const type_info&) const _NOEXCEPT #if __has_feature(cxx_atomic) static const std::size_t __sp_mut_count = 16; -static mutex mut_back[__sp_mut_count]; +static pthread_mutex_t mut_back_imp[__sp_mut_count] = +{ + PTHREAD_MUTEX_INITIALIZER, PTHREAD_MUTEX_INITIALIZER, PTHREAD_MUTEX_INITIALIZER, PTHREAD_MUTEX_INITIALIZER, + PTHREAD_MUTEX_INITIALIZER, PTHREAD_MUTEX_INITIALIZER, PTHREAD_MUTEX_INITIALIZER, PTHREAD_MUTEX_INITIALIZER, + PTHREAD_MUTEX_INITIALIZER, PTHREAD_MUTEX_INITIALIZER, PTHREAD_MUTEX_INITIALIZER, PTHREAD_MUTEX_INITIALIZER, + PTHREAD_MUTEX_INITIALIZER, PTHREAD_MUTEX_INITIALIZER, PTHREAD_MUTEX_INITIALIZER, PTHREAD_MUTEX_INITIALIZER +}; + +static mutex* mut_back = reinterpret_cast<std::mutex*>(mut_back_imp); _LIBCPP_CONSTEXPR __sp_mut::__sp_mut(void* p) _NOEXCEPT : __lx(p) |

