[libcxx-commits] [libcxx] ed760d1 - [libc++] Mention __cxa_init_primary_exception in the ABI changelog

Louis Dionne via libcxx-commits libcxx-commits at lists.llvm.org
Mon Jan 22 09:19:12 PST 2024


Author: Louis Dionne
Date: 2024-01-22T12:19:05-05:00
New Revision: ed760d170f18b3ca9f53f4e4a2e31d82bf0ba3e7

URL: https://github.com/llvm/llvm-project/commit/ed760d170f18b3ca9f53f4e4a2e31d82bf0ba3e7
DIFF: https://github.com/llvm/llvm-project/commit/ed760d170f18b3ca9f53f4e4a2e31d82bf0ba3e7.diff

LOG: [libc++] Mention __cxa_init_primary_exception in the ABI changelog

Added: 
    

Modified: 
    libcxx/lib/abi/CHANGELOG.TXT

Removed: 
    


################################################################################
diff  --git a/libcxx/lib/abi/CHANGELOG.TXT b/libcxx/lib/abi/CHANGELOG.TXT
index df4e5aa3859543..1179c253f18c8f 100644
--- a/libcxx/lib/abi/CHANGELOG.TXT
+++ b/libcxx/lib/abi/CHANGELOG.TXT
@@ -16,6 +16,18 @@ New entries should be added directly below the "Version" header.
 Version 18.0
 ------------
 
+* [libc++abi] Implement __cxa_init_primary_exception and use it to optimize std::make_exception_ptr (#65534)
+
+  This patch implements __cxa_init_primary_exception, an extension to the Itanium C++ ABI.
+  This extension is already present in both libsupc++ and libcxxrt. This patch also starts
+  making use of this function in std::make_exception_ptr: instead of going through a full
+  throw/catch cycle, we are now able to initialize an exception directly, thus making
+  std::make_exception_ptr around 30x faster. Adding a new symbol is not an ABI break.
+
+  All platforms
+  -------------
+  Symbol added: __cxa_init_primary_exception
+
 * [libc++] Simplify the implementation of locale::id
 
   This patch removes a symbol defined in the library for std::locale::id::__init().


        


More information about the libcxx-commits mailing list