Page MenuHomePhabricator

mvels (Martijn Vels)
User

Projects

User does not belong to any projects.

User Details

User Since
Sep 13 2019, 8:07 AM (13 w, 2 d)

Recent Activity

Thu, Dec 12

mvels updated the diff for D70617: Add default initialization to compressed_pair..

Moved compressed_pair,pass.cpp to libcxx test dir

Thu, Dec 12, 11:50 AM · Restricted Project

Wed, Dec 4

mvels added a comment to D70617: Add default initialization to compressed_pair..

Friendly ping?

Wed, Dec 4, 2:48 PM · Restricted Project
mvels added a comment to D70621: Add __default_init_tag to basic_string constructors.

Friendly ping

Wed, Dec 4, 2:48 PM · Restricted Project

Mon, Nov 25

mvels abandoned D68617: partially inline copy constructor basic_string(const basic_string&[, allocator]).
Mon, Nov 25, 10:25 AM · Restricted Project
mvels added a comment to D68617: partially inline copy constructor basic_string(const basic_string&[, allocator]).

Following discussions with ericwf & ldionne, we be upstreaming these changes incrementally and address the ABI separately

Mon, Nov 25, 7:15 AM · Restricted Project
mvels added a parent revision for D70621: Add __default_init_tag to basic_string constructors: D70617: Add default initialization to compressed_pair..
Mon, Nov 25, 7:10 AM · Restricted Project
mvels added a child revision for D70617: Add default initialization to compressed_pair.: D70621: Add __default_init_tag to basic_string constructors.
Mon, Nov 25, 7:10 AM · Restricted Project
mvels added a comment to D68623: Optimize and fix basic_string move assignment operator.

Eric or Marschal, can we land this change? Thanks!

Mon, Nov 25, 7:10 AM · Restricted Project
mvels added a reviewer for D68623: Optimize and fix basic_string move assignment operator: EricWF.
Mon, Nov 25, 7:10 AM · Restricted Project
mvels added a reviewer for D70621: Add __default_init_tag to basic_string constructors: EricWF.
Mon, Nov 25, 7:06 AM · Restricted Project

Fri, Nov 22

mvels created D70621: Add __default_init_tag to basic_string constructors.
Fri, Nov 22, 3:01 PM · Restricted Project
mvels created D70617: Add default initialization to compressed_pair..
Fri, Nov 22, 1:58 PM · Restricted Project
mvels added a reviewer for D70617: Add default initialization to compressed_pair.: EricWF.
Fri, Nov 22, 1:58 PM · Restricted Project

Nov 8 2019

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

Thanks Shoaib!

Nov 8 2019, 12:34 PM · Restricted Project
mvels added a comment to D68623: Optimize and fix basic_string move assignment operator.

Demonstrating my ignorance on the expected / normal flow of submits here: what is the ETA for this?

Nov 8 2019, 11:12 AM · Restricted Project

Oct 19 2019

mvels added inline comments to D68617: partially inline copy constructor basic_string(const basic_string&[, allocator]).
Oct 19 2019, 3:13 AM · Restricted Project
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]).
  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: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