]> git.ipfire.org Git - thirdparty/gcc.git/commit
Reduce space and time overhead of std::thread
authorJonathan Wakely <jwakely@redhat.com>
Tue, 29 Sep 2015 12:54:05 +0000 (13:54 +0100)
committerJonathan Wakely <redi@gcc.gnu.org>
Tue, 29 Sep 2015 12:54:05 +0000 (13:54 +0100)
commitce535a9685b11c846560cc0f9f4dded1ca558efc
tree1c41b68da533870ce3a44a9dd4a934252561bfbf
parentc357b903daa3f831a34541a9d99469ccce226d54
Reduce space and time overhead of std::thread

PR libstdc++/65393
* config/abi/pre/gnu.ver: Export new symbols.
* include/std/thread (thread::_State, thread::_State_impl): New types.
(thread::_M_start_thread): Add overload taking unique_ptr<_State>.
(thread::_M_make_routine): Remove.
(thread::_S_make_state): Add.
(thread::_Impl_base, thread::_Impl, thread::_M_start_thread)
[_GLIBCXX_THREAD_ABI_COMPAT] Only declare conditionally.
* src/c++11/thread.cc (execute_native_thread_routine): Rename to
execute_native_thread_routine_compat and re-define to use _State.
(thread::_State::~_State()): Define.
(thread::_M_make_thread): Define new overload.
(thread::_M_make_thread) [_GLIBCXX_THREAD_ABI_COMPAT]: Only define old
overloads conditionally.

From-SVN: r228242
libstdc++-v3/ChangeLog
libstdc++-v3/config/abi/pre/gnu.ver
libstdc++-v3/include/std/thread
libstdc++-v3/src/c++11/thread.cc