summaryrefslogtreecommitdiffstats
path: root/libcxxabi/src/cxa_exception_storage.cpp
Commit message (Collapse)AuthorAgeFilesLines
* [libc++abi] Use proper calling convention for TLS destructorShoaib Meenai2017-08-081-1/+1
| | | | | | This is needed when using Windows threading. llvm-svn: 310329
* [libc++abi] Delete config.hShoaib Meenai2017-03-301-1/+0
| | | | | | | | | | | | Summary: It's now completely empty, so we can remove it entirely. Reviewers: mclow.lists, EricWF Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D31502 llvm-svn: 299129
* [libcxxabi] Introduce an externally threaded libc++abi variant.Asiri Rathnayake2017-01-031-9/+9
| | | | | | | | | | r281179 Introduced an externally threaded variant of the libc++ library. This patch adds support for a similar library variant for libc++abi. Differential revision: https://reviews.llvm.org/D27575 Reviewers: EricWF llvm-svn: 290888
* [libcxxabi] Refactor pthread usage into a separate APIAsiri Rathnayake2016-10-131-12/+12
| | | | | | | | | | | | | | | | | | This patch refactors all pthread uses of libc++abi into a separate API. This is the first step towards supporting an externlly-threaded libc++abi library. I've followed the conventions already used in the libc++ library for the same purpose. Patch from: Saleem Abdulrasool and Asiri Rathnayake Reviewed by: compnerd, EricWF Differential revisions: https://reviews.llvm.org/D18482 (original) https://reviews.llvm.org/D24864 (final) llvm-svn: 284128
* Recommit r282692: [libc++abi] Use fallback_malloc to allocate ↵Igor Kudrin2016-10-071-3/+3
| | | | | | | | | | | | | | | | | __cxa_eh_globals in case of dynamic memory exhaustion. Throwing an exception for the first time may lead to call calloc to allocate memory for __cxa_eh_globals. If the memory pool is exhausted at that moment, it results in abnormal termination of the program. This patch addresses the issue by using fallback_malloc in that case. In this revision, some restrictions were added into the test to not run it in unsuitable environments. Differential Revision: https://reviews.llvm.org/D17815 llvm-svn: 283531
* Revert r282692: Use fallback_malloc to allocate __cxa_eh_globals in case of ↵Igor Kudrin2016-09-291-3/+3
| | | | | | | | dynamic memory exhaustion. The test breaks build bots. llvm-svn: 282703
* [libc++abi] Use fallback_malloc to allocate __cxa_eh_globals in case of ↵Igor Kudrin2016-09-291-3/+3
| | | | | | | | | | | | | | dynamic memory exhaustion. Throwing an exception for the first time may lead to call calloc to allocate memory for __cxa_eh_globals. If the memory pool is exhausted at that moment, it results in abnormal termination of the program. This patch addresses the issue by using fallback_malloc in that case. Differential Revision: https://reviews.llvm.org/D17815 llvm-svn: 282692
* [libcxxabi] cleanup the use of LIBCXXABI_HAS_NO_THREADS macro (NFC)Asiri Rathnayake2016-09-211-1/+1
| | | | | | | Align the naming / use of the macro LIBCXXABI_HAS_NO_THREADS to follow what we have in libcxx. NFC. llvm-svn: 282062
* s/LIBCXXABI_SINGLE_THREADED/LIBCXXABI_HAS_NO_THREADS/ for consistency with ↵Jonathan Roelofs2014-09-051-1/+1
| | | | | | | | | libcxx Also remove the audotedection part so that if you're crazy enough to want a single-threaded abi library, you'll say so explicitly in the build. llvm-svn: 217262
* On single threaded systems, turn mutexes into nopsJonathan Roelofs2014-05-061-1/+13
| | | | | | http://reviews.llvm.org/D3386 llvm-svn: 208135
* [libcxxabi] Fix broken codesourcery.com links in commentsJonathan Roelofs2014-02-121-1/+1
| | | | | review: http://llvm-reviews.chandlerc.com/D2718 llvm-svn: 201208
* Bruce Mitchener: Typo fixes.Howard Hinnant2013-02-151-1/+1
| | | | llvm-svn: 175275
* Add a descriptive name for a constant. Also I'm at least temporarily waging ↵Howard Hinnant2012-01-301-10/+11
| | | | | | war on throw specs, both old and new style. Except where we have already publicly exposed the throw spec, I'm getting rid of them. They may come back later. But they seem somewhat prone to cyclic dependencies here. The throw spec implies compiler generated code that this library has to jump to during stack unwinding. I'd like to minimize the possiblity that the code used to properly make that jump is itself creating such jumps. llvm-svn: 149251
* Add comment documenting extension behavior of __cxa_get_globals_fast().Howard Hinnant2012-01-251-0/+4
| | | | llvm-svn: 148966
* By changing all of the throw() specs to noexcept I've been able to compile ↵Howard Hinnant2012-01-241-7/+7
| | | | | | and link all of the source files into a dylib. Prior to this substitution the changed functions were calling __cxa_call_unexpected which isn't implemented yet. However in none of these cases do we actaully want __cxa_call_unexpected to be called. Primative buildit script added. llvm-svn: 148880
* A lot of the code in cxa_exception.cpp depends on __cxa_get_globals_fast() ↵Howard Hinnant2012-01-231-5/+4
| | | | | | returning null if __cxa_get_globals() hasn't been called yet. However it doesn't reliably do that, at least on OS X if __cxa_get_globals_fast() is called prior to pthread_key_create() running. Our choice is to either limit our use of __cxa_get_globals_fast() more than we have, or to have __cxa_get_globals_fast() initialize with pthread_key_create() if necessary. I chose the latter, and replaced pthread_once with a C++11 local static (which should do the same thing). llvm-svn: 148750
* use abort_message() for pthread errors in __cxa_get_globalsNick Kledzik2011-08-021-9/+15
| | | | llvm-svn: 136672
* Exception handling stuctures, and thread-local variables for exception handlingMarshall Clow2011-07-201-0/+81
llvm-svn: 135586
OpenPOWER on IntegriCloud