Page MenuHomePhabricator
Feed Advanced Search

Oct 19 2019

mvels updated the diff for D68617: partially inline copy constructor basic_string(const basic_string&[, allocator]).

Adapt per feature ABI breakage for this change

Oct 19 2019, 3:13 AM · Restricted Project

Oct 16 2019

mvels updated the diff for D69061: Partially inline copy constructor basic_string(const basic_string&[, allocator]) - ALTERNATIVE to https://reviews.llvm.org/D68617.
  • fix ifdef for __init_long
Oct 16 2019, 11:33 AM · Restricted Project
mvels updated the diff for D69061: Partially inline copy constructor basic_string(const basic_string&[, allocator]) - ALTERNATIVE to https://reviews.llvm.org/D68617.
  • Remove old defines
Oct 16 2019, 11:33 AM · Restricted Project
mvels updated the diff for D69061: Partially inline copy constructor basic_string(const basic_string&[, allocator]) - ALTERNATIVE to https://reviews.llvm.org/D68617.
  • Relocate define in __config
Oct 16 2019, 11:33 AM · Restricted Project
mvels added a comment to D68617: partially inline copy constructor basic_string(const basic_string&[, allocator]).

I added alternaive DIFF in https://reviews.llvm.org/D69061

Oct 16 2019, 11:24 AM · Restricted Project
mvels retitled D69061: Partially inline copy constructor basic_string(const basic_string&[, allocator]) - ALTERNATIVE to https://reviews.llvm.org/D68617 from Update to feature define in __config to Partially inline copy constructor basic_string(const basic_string&[, allocator]) - ALTERNATIVE to https://reviews.llvm.org/D68617.
Oct 16 2019, 11:24 AM · Restricted Project
mvels added reviewers for D69061: Partially inline copy constructor basic_string(const basic_string&[, allocator]) - ALTERNATIVE to https://reviews.llvm.org/D68617: ldionne, EricWF, mclow.lists.
Oct 16 2019, 11:24 AM · Restricted Project
mvels created D69061: Partially inline copy constructor basic_string(const basic_string&[, allocator]) - ALTERNATIVE to https://reviews.llvm.org/D68617.
Oct 16 2019, 11:24 AM · Restricted Project
mvels added inline comments to D68617: partially inline copy constructor basic_string(const basic_string&[, allocator]).
Oct 16 2019, 10:28 AM · Restricted Project
mvels added inline comments to D68617: partially inline copy constructor basic_string(const basic_string&[, allocator]).
Oct 16 2019, 8:27 AM · Restricted Project
mvels added a comment to D68617: partially inline copy constructor basic_string(const basic_string&[, allocator]).

Thanks for the elaborate comments Louis!

Oct 16 2019, 7:50 AM · Restricted Project
mvels updated the diff for D68617: partially inline copy constructor basic_string(const basic_string&[, allocator]).
  1. Updating D68617: partially inline copy constructor basic_string(const basic_string&[, allocator]) #
  2. Enter a brief description of the changes included in this update.
  3. The first line is used as subject, next lines as comment. #
  4. If you intended to create a new revision, use:
  5. $ arc diff --create
Oct 16 2019, 6:46 AM · Restricted Project
mvels updated the diff for D68617: partially inline copy constructor basic_string(const basic_string&[, allocator]).

Updated with ABI in unstable

Oct 16 2019, 6:22 AM · Restricted Project

Oct 13 2019

mvels added a comment to D68617: partially inline copy constructor basic_string(const basic_string&[, allocator]).

This change highlights ABI issues (init_long is not a forwards compatible change / technically breaks ABI)

Oct 13 2019, 12:45 PM · Restricted Project

Oct 11 2019

mvels added a comment to D68623: Optimize and fix basic_string move assignment operator.

Re split for the alloc case: that may be a good option for a next change, I wanted to keep this change small in scope, and for std::allocator no extra cost / code emitted

Oct 11 2019, 11:19 AM · Restricted Project
mvels added a comment to D68623: Optimize and fix basic_string move assignment operator.

Yeah, it's pretty bad though if allocators have throwing move operators, but until c++14 it's 'technically allowed' and something that the std handle gracefully. I was not that alarmed tho, such should be rare, and deserving a halt and catch fire. :)

Oct 11 2019, 10:51 AM · Restricted Project

Oct 9 2019

mvels added a comment to D68617: partially inline copy constructor basic_string(const basic_string&[, allocator]).

libc++.so code for std::string ctor (demangled / mixed source)

Oct 9 2019, 9:51 AM · Restricted Project

Oct 7 2019

mvels retitled D68623: Optimize and fix basic_string move assignment operator from Optimize and Fix move assignment operator to Optimize and fix basic_string move assignment operator.
Oct 7 2019, 7:50 PM · Restricted Project
mvels added a comment to D68623: Optimize and fix basic_string move assignment operator.

Here's the godbolt link I am looking at with your code:

Oct 7 2019, 7:42 PM · Restricted Project
mvels updated the summary of D68617: partially inline copy constructor basic_string(const basic_string&[, allocator]).
Oct 7 2019, 7:27 PM · Restricted Project
mvels added a comment to D68617: partially inline copy constructor basic_string(const basic_string&[, allocator]).
  1. I updated the title
Oct 7 2019, 7:22 PM · Restricted Project
mvels retitled D68617: partially inline copy constructor basic_string(const basic_string&[, allocator]) from Optimize copy constructor to partially inline copy constructor basic_string(const basic_string&[, allocator]).
Oct 7 2019, 6:50 PM · Restricted Project
mvels updated the summary of D68623: Optimize and fix basic_string move assignment operator.
Oct 7 2019, 6:46 PM · Restricted Project
mvels retitled D68623: Optimize and fix basic_string move assignment operator from Optimize and Fix move assignment operator This change optimizes the move assigment operator to more efficient / compact code, and fixes a bug. Move assignment optimization: - do not use the (epensive / branched) clear_and_shrink() method but... to Optimize and Fix move assignment operator.
Oct 7 2019, 6:45 PM · Restricted Project
mvels created D68623: Optimize and fix basic_string move assignment operator.
Oct 7 2019, 6:43 PM · Restricted Project
mvels updated the diff for D68617: partially inline copy constructor basic_string(const basic_string&[, allocator]).
  • Added inline
Oct 7 2019, 6:06 PM · Restricted Project
mvels retitled D68617: partially inline copy constructor basic_string(const basic_string&[, allocator]) from This change optimizes the copy constructor using partial inlining. - add __default_value_tag() to memory, to support default initialization - inline copy contructor: non SSO init delegated to instantiated __init_long() method Note that this... to Optimize copy constructor.
Oct 7 2019, 6:03 PM · Restricted Project
mvels created D68617: partially inline copy constructor basic_string(const basic_string&[, allocator]).
Oct 7 2019, 5:58 PM · Restricted Project

Oct 1 2019

mvels retitled D68276: Optimize operator=(const basic_string&) for tail call. from # Enter a commit message. # # Changes: # # libcxx/include/string to Optimize operator=(const basic_string&) for tail call..
Oct 1 2019, 8:31 AM · Restricted Project
mvels added a reviewer for D68276: Optimize operator=(const basic_string&) for tail call.: ldionne.
Oct 1 2019, 8:22 AM · Restricted Project
mvels updated the summary of D68276: Optimize operator=(const basic_string&) for tail call..
Oct 1 2019, 8:17 AM · Restricted Project
mvels updated the summary of D68276: Optimize operator=(const basic_string&) for tail call..
Oct 1 2019, 8:17 AM · Restricted Project
mvels updated the summary of D68276: Optimize operator=(const basic_string&) for tail call..
Oct 1 2019, 8:17 AM · Restricted Project
mvels updated the summary of D68276: Optimize operator=(const basic_string&) for tail call..
Oct 1 2019, 8:17 AM · Restricted Project
mvels updated the summary of D68276: Optimize operator=(const basic_string&) for tail call..
Oct 1 2019, 8:14 AM · Restricted Project
mvels created D68276: Optimize operator=(const basic_string&) for tail call..
Oct 1 2019, 8:08 AM · Restricted Project
mvels updated the diff for D67667: Add benchmarks for string assign methods.
Oct 1 2019, 8:04 AM · Restricted Project
mvels updated the diff for D67667: Add benchmarks for string assign methods.
  • Optimize operator=(const basic_string&) for tail call.
Oct 1 2019, 7:55 AM · Restricted Project

Sep 24 2019

mvels added inline comments to D67667: Add benchmarks for string assign methods.
Sep 24 2019, 11:10 AM · Restricted Project
mvels updated the diff for D67667: Add benchmarks for string assign methods.

Resolved comments

Sep 24 2019, 11:07 AM · Restricted Project

Sep 17 2019

mvels added a reviewer for D67667: Add benchmarks for string assign methods: EricWF.
Sep 17 2019, 9:33 AM · Restricted Project
mvels created D67667: Add benchmarks for string assign methods.
Sep 17 2019, 9:33 AM · Restricted Project