libstdc++: Optimize synchronization in std::future if futexes are available.
authorTorvald Riegel <triegel@redhat.com>
Fri, 16 Jan 2015 19:50:43 +0000 (19:50 +0000)
committerTorvald Riegel <torvald@gcc.gnu.org>
Fri, 16 Jan 2015 19:50:43 +0000 (19:50 +0000)
commiteae801bacc085da3a40c4db2e543aaae753f71be
tree7e0f7a52bc8fea8db2cc39c259441e1c7ab73feb
parent1175297f6ed139cf3019a13e8333c00cd5f91644
libstdc++: Optimize synchronization in std::future if futexes are available.

* src/c++11/futex.cc: New file.
* include/bits/atomic_futex.h: New file.
* include/std/future (__future_base::_State_baseV2): Use
atomic_futex_unsigned instead of mutex+condvar.
* src/c++11/futex.cc: Likewise.
* include/Makefile.am: Add atomic_futex.h.
* include/Makefile.in: Likewise.
* src/c++11/Makefile.am: Add futex.cc.
* src/c++11/Makefile.in: Likewise.

From-SVN: r219770
libstdc++-v3/ChangeLog
libstdc++-v3/config/abi/pre/gnu.ver
libstdc++-v3/include/Makefile.am
libstdc++-v3/include/Makefile.in
libstdc++-v3/include/bits/atomic_futex.h [new file with mode: 0644]
libstdc++-v3/include/std/future
libstdc++-v3/src/c++11/Makefile.am
libstdc++-v3/src/c++11/Makefile.in
libstdc++-v3/src/c++11/futex.cc [new file with mode: 0644]
libstdc++-v3/src/c++11/future.cc