Page MenuHomePhabricator

mvels (Martijn Vels)
User

Projects

User does not belong to any projects.

User Details

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

Recent Activity

Oct 27 2020

mvels added a comment to D90111: Partially implement C++20's P1020/P1973..

Sorry, didn't see this earlier as this drowned in my email filters :/

Oct 27 2020, 3:34 AM · Restricted Project

Jul 6 2020

mvels committed rG842136428264: Modifications to the algorithm sort benchmark (authored by minjaehwang).
Modifications to the algorithm sort benchmark
Jul 6 2020, 3:32 PM
mvels closed D81770: Modifications to the algorithm sort benchmark.
Jul 6 2020, 3:32 PM · Restricted Project
mvels accepted D81770: Modifications to the algorithm sort benchmark.
Jul 6 2020, 3:27 PM · Restricted Project
mvels requested changes to D81770: Modifications to the algorithm sort benchmark.
Jul 6 2020, 1:11 PM · Restricted Project
mvels added inline comments to D81770: Modifications to the algorithm sort benchmark.
Jul 6 2020, 1:09 PM · Restricted Project
mvels updated the summary of D81770: Modifications to the algorithm sort benchmark.
Jul 6 2020, 1:05 PM · Restricted Project
mvels accepted D81770: Modifications to the algorithm sort benchmark.
Jul 6 2020, 1:02 PM · Restricted Project
mvels added a comment to D81770: Modifications to the algorithm sort benchmark.

clang-tidy complains that "benchmark/benchmark.h" is not found at CartesianBehcmarks.h. This diff does not modify that file and this is a benign error. It compiles without a problem.

Could anyone land this diff into the master?

Jul 6 2020, 1:02 PM · Restricted Project
mvels added a reviewer for D81770: Modifications to the algorithm sort benchmark: mvels.
Jul 6 2020, 1:01 PM · Restricted Project

Jun 29 2020

mvels created D82809: Optimize vector push_back for hot loops / push_back fill invocations.
Jun 29 2020, 2:46 PM · Restricted Project
mvels committed rG2bad2226801f: Add optimization to basic_string::assign for compile-time known constant values. (authored by mvels).
Add optimization to basic_string::assign for compile-time known constant values.
Jun 29 2020, 11:55 AM
mvels closed D82221: Add optimization to basic_string::assign for compile-time known constant values..
Jun 29 2020, 11:55 AM · Restricted Project

Jun 19 2020

mvels abandoned D78763: Add optimization to basic_string::assign for compile-time known constant values..
Jun 19 2020, 11:58 AM · Restricted Project
mvels added a comment to D78763: Add optimization to basic_string::assign for compile-time known constant values..

I'm going to abandon this diff, seems arcanist, phabricator and I can't see each other eye to eye...... :\ which makes me sad,....

Create new diff (same as this) in https://reviews.llvm.org/D82220

Jun 19 2020, 11:58 AM · Restricted Project
mvels created D82220: Add optimization to basic_string::assign for compile-time known constant values..
Jun 19 2020, 11:26 AM · Restricted Project
mvels retitled D82220: Add optimization to basic_string::assign for compile-time known constant values. from This change optimizes the assign() methods for string where either the contents or lengths are compile time known constants. For small strings (< min_cap) we can execute the assignment entirely inline. For strings up to 128 bytes we allow the... to Add optimization to basic_string::assign for compile-time known constant values..
Jun 19 2020, 11:26 AM · Restricted Project
mvels created D82221: Add optimization to basic_string::assign for compile-time known constant values..
Jun 19 2020, 11:26 AM · Restricted Project
mvels added a comment to D78763: Add optimization to basic_string::assign for compile-time known constant values..

I'm going to abandon this diff, seems arcanist, phabricator and I can't see each other eye to eye...... :\ which makes me sad,....

Jun 19 2020, 11:26 AM · Restricted Project
mvels abandoned D82220: Add optimization to basic_string::assign for compile-time known constant values..
Jun 19 2020, 11:26 AM · Restricted Project
mvels updated the diff for D78763: Add optimization to basic_string::assign for compile-time known constant values..

arc diff with --head=HEAD 'HEAD~1'

Jun 19 2020, 11:26 AM · Restricted Project
mvels updated the diff for D78763: Add optimization to basic_string::assign for compile-time known constant values..

Running arc diff --update D78763

Jun 19 2020, 9:12 AM · Restricted Project
mvels added a comment to D78763: Add optimization to basic_string::assign for compile-time known constant values..

Looks like harbormaster builds use arcanist, and arcanist has **magic ** making awful diffs?

Jun 19 2020, 8:37 AM · Restricted Project
mvels added a comment to D78763: Add optimization to basic_string::assign for compile-time known constant values..

I'm mystified why the build fails, it fails on applying the patch:

Jun 19 2020, 8:05 AM · Restricted Project
mvels updated the diff for D78763: Add optimization to basic_string::assign for compile-time known constant values..

Uploading clean diff

Jun 19 2020, 6:59 AM · Restricted Project
mvels added a comment to D78763: Add optimization to basic_string::assign for compile-time known constant values..

Uploaded clean diff in case harbormaster is confused about diffs

Jun 19 2020, 6:59 AM · Restricted Project

Jun 18 2020

mvels added a comment to D78763: Add optimization to basic_string::assign for compile-time known constant values..

Thanks for the reviews!

Jun 18 2020, 1:38 PM · Restricted Project
mvels abandoned D73134: Add invariant on <long string cap> >= __min_cap and change brittle __was_long cases.
Jun 18 2020, 1:38 PM · Restricted Project
mvels updated the diff for D78763: Add optimization to basic_string::assign for compile-time known constant values..

Optimed ternary op for ascizz string -> always evalutate length in inlined constant string.

Jun 18 2020, 1:38 PM · Restricted Project
mvels updated the diff for D73134: Add invariant on <long string cap> >= __min_cap and change brittle __was_long cases.

Cleaned up const char* ternary, evaluating traits_type::length for all constant strings

Jun 18 2020, 1:38 PM · Restricted Project
mvels added inline comments to D78763: Add optimization to basic_string::assign for compile-time known constant values..
Jun 18 2020, 12:34 PM · Restricted Project
mvels abandoned D80827: Optimize vector push_back to avoid continuous load and store of end pointer. (alt 2).
Jun 18 2020, 12:34 PM · Restricted Project
mvels abandoned D73291: Inline basic_string::assign(s [, n]) for compile time known short strings.
Jun 18 2020, 12:34 PM · Restricted Project
mvels committed rGd96aac435423: Optimize 'construct at end' loops in vector (authored by mvels).
Optimize 'construct at end' loops in vector
Jun 18 2020, 11:27 AM
mvels closed D82111: Optimize 'construct at end' loops in vector.
Jun 18 2020, 11:27 AM · Restricted Project
mvels committed rG555106aa6935: Optimize 'construct at end' loops in vector (authored by mvels).
Optimize 'construct at end' loops in vector
Jun 18 2020, 10:55 AM
mvels created D82111: Optimize 'construct at end' loops in vector.
Jun 18 2020, 10:54 AM · Restricted Project

Jun 9 2020

mvels updated the diff for D80827: Optimize vector push_back to avoid continuous load and store of end pointer. (alt 2).

Removed __config changes

Jun 9 2020, 2:21 PM · Restricted Project
mvels updated the diff for D80827: Optimize vector push_back to avoid continuous load and store of end pointer. (alt 2).

Revamped

Jun 9 2020, 2:21 PM · Restricted Project
mvels updated the diff for D80827: Optimize vector push_back to avoid continuous load and store of end pointer. (alt 2).

Fixed __config comment

Jun 9 2020, 2:21 PM · Restricted Project

May 29 2020

mvels updated the diff for D80827: Optimize vector push_back to avoid continuous load and store of end pointer. (alt 2).

Fixed NOEXCEPT comments

May 29 2020, 12:00 PM · Restricted Project
mvels added a reviewer for D80827: Optimize vector push_back to avoid continuous load and store of end pointer. (alt 2): EricWF.
May 29 2020, 12:00 PM · Restricted Project
mvels retitled D80827: Optimize vector push_back to avoid continuous load and store of end pointer. (alt 2) from credits: this change is based on analysis and a proof of concept by gerbens@google.com. to Optimize vector push_back to avoid continuous load and store of end pointer. (alt 2).
May 29 2020, 12:00 PM · Restricted Project
mvels added inline comments to D80588: Optimize vector push_back to avoid continuous load and store of end pointer..
May 29 2020, 12:00 PM · Restricted Project
mvels updated the diff for D80588: Optimize vector push_back to avoid continuous load and store of end pointer..

renamed end --> pos

May 29 2020, 12:00 PM · Restricted Project
mvels created D80827: Optimize vector push_back to avoid continuous load and store of end pointer. (alt 2).
May 29 2020, 12:00 PM · Restricted Project
mvels updated the diff for D78763: Add optimization to basic_string::assign for compile-time known constant values..

Update diff after master pull

May 29 2020, 8:39 AM · Restricted Project
mvels updated the diff for D78763: Add optimization to basic_string::assign for compile-time known constant values..

Removed Apple V2 abi list

May 29 2020, 8:07 AM · Restricted Project

May 27 2020

mvels updated the diff for D80588: Optimize vector push_back to avoid continuous load and store of end pointer..

White space / comment clean up

May 27 2020, 2:42 PM · Restricted Project
mvels updated the diff for D80588: Optimize vector push_back to avoid continuous load and store of end pointer..

Fixed AsanTransaction for single 'construct_at' use case

May 27 2020, 2:10 PM · Restricted Project
mvels abandoned D75639: Partially inline basic_string copy constructor in UNSTABLE.
May 27 2020, 1:02 PM · Restricted Project
Herald added a reviewer for D75639: Partially inline basic_string copy constructor in UNSTABLE: Restricted Project.
May 27 2020, 1:02 PM · Restricted Project
mvels added a comment to D78763: Add optimization to basic_string::assign for compile-time known constant values..

Well, I think we should probably remove that notion, or merge it with the "unstable" ABI. It's not really a thing since V2 is basically unstable AFAICT.

Just fix it and we can improve the situation (i.e. probably remove it) later.

I have no way to verify / test this (cross compiling apple darwin v2 looks to be impossible?), and guessing the mangled names from x86 compiles seems dubious as well given the diffs I see on apple v1 vs linux v1

May 27 2020, 11:56 AM · Restricted Project
mvels added a comment to D80588: Optimize vector push_back to avoid continuous load and store of end pointer..
  1. Pass this->__end_ to the helper functions
  2. Return the new end pointer from those helpers

I am skeptical why step 2 is needed at all. You never remove setting of this->__end_. So why do you need to do work that has already been done? Could you please verify that the second part is indeed necessary?

If it is indeed necessary I note that you pessimize the slow path by decrementing and then incrementing.

I would greatly prefer it if you would directly return in both the fast and the slow path.

May 27 2020, 10:16 AM · Restricted Project

May 26 2020

mvels updated the summary of D80588: Optimize vector push_back to avoid continuous load and store of end pointer..
May 26 2020, 2:11 PM · Restricted Project
mvels created D80588: Optimize vector push_back to avoid continuous load and store of end pointer..
May 26 2020, 2:11 PM · Restricted Project
mvels added a reviewer for D80588: Optimize vector push_back to avoid continuous load and store of end pointer.: EricWF.
May 26 2020, 2:11 PM · Restricted Project

May 21 2020

mvels added a comment to D78763: Add optimization to basic_string::assign for compile-time known constant values..

They are removed from the unstable ABI, but not from the ABI v2. Those are different things (and I guess it doesn't really make sense for them to be different). But we should either decide that we don't test abi lists for ABI v2, or fix it. I suggest we fix it for now in order to make progress on this. You just need to update the ABI list for v2, it shouldn't be difficult.

May 21 2020, 2:05 PM · Restricted Project
mvels updated the diff for D78763: Add optimization to basic_string::assign for compile-time known constant values..

Restricted assign to __min_cap

May 21 2020, 12:26 PM · Restricted Project
mvels added a comment to D78763: Add optimization to basic_string::assign for compile-time known constant values..

Please make sure you update the ABI v2 abi list when you make these changes. It's currently broken (and this change will break it even more). You can run make check-cxx-abilist to see the failures.

Or, I guess we can also have a discussion to disable the abi list tests for unstable ABIs, since it's not that useful I guess.

May 21 2020, 6:59 AM · Restricted Project
mvels updated the diff for D78763: Add optimization to basic_string::assign for compile-time known constant values..

Fixed external instantiations for unstable (removed __resize)

May 21 2020, 6:59 AM · Restricted Project
mvels updated the diff for D78763: Add optimization to basic_string::assign for compile-time known constant values..

Simplified change to inlined optimizations.

May 21 2020, 6:58 AM · Restricted Project

Apr 23 2020

mvels updated the diff for D78763: Add optimization to basic_string::assign for compile-time known constant values..

Added proper constant for min short -> long promotion size

Apr 23 2020, 3:15 PM · Restricted Project
mvels added a reviewer for D78763: Add optimization to basic_string::assign for compile-time known constant values.: EricWF.
Apr 23 2020, 3:15 PM · Restricted Project
mvels updated the summary of D78763: Add optimization to basic_string::assign for compile-time known constant values..
Apr 23 2020, 3:15 PM · Restricted Project
mvels updated the summary of D78763: Add optimization to basic_string::assign for compile-time known constant values..
Apr 23 2020, 3:15 PM · Restricted Project
mvels created D78763: Add optimization to basic_string::assign for compile-time known constant values..
Apr 23 2020, 3:15 PM · Restricted Project
mvels updated the diff for D78763: Add optimization to basic_string::assign for compile-time known constant values..

Adjusted for sizeof(value_type)

Apr 23 2020, 3:15 PM · Restricted Project

Apr 10 2020

mvels committed rG7ba045a430b9: Make basic_string::operator=() tail call properly (authored by mvels).
Make basic_string::operator=() tail call properly
Apr 10 2020, 4:42 PM
mvels closed D77913: Make basic_string::operator=() tail call properly.
Apr 10 2020, 4:42 PM · Restricted Project
mvels created D77913: Make basic_string::operator=() tail call properly.
Apr 10 2020, 3:37 PM · Restricted Project

Mar 4 2020

mvels committed rGb019c5c0372e: Partially inline basic_string copy constructor in UNSTABLE (authored by mvels).
Partially inline basic_string copy constructor in UNSTABLE
Mar 4 2020, 3:15 PM
mvels closed D75554: Partially inline basic_string::assign(__s [, __n]) methods..
Mar 4 2020, 3:14 PM · Restricted Project
mvels updated the diff for D75554: Partially inline basic_string::assign(__s [, __n]) methods..

New diff after rebase

Mar 4 2020, 3:11 PM · Restricted Project
mvels added a comment to D75639: Partially inline basic_string copy constructor in UNSTABLE.

Thanks, arc is not my friend :\ Fixed the diff using --base=git:origin

Mar 4 2020, 3:11 PM · Restricted Project
mvels added a comment to D73223: Partially inline basic_string copy constructor in UNSTABLE.

Thanks, arc is not my friend :\ Fixed the diff using --base=git:origin

Mar 4 2020, 3:11 PM · Restricted Project
mvels added a comment to D73223: Partially inline basic_string copy constructor in UNSTABLE.

BTW, you could argue 'arc' was smart enough to recognize this was a rolled forward revert, and only diff against the original submit, alas :)

Mar 4 2020, 3:11 PM · Restricted Project
mvels updated the diff for D75639: Partially inline basic_string copy constructor in UNSTABLE.

Diff against

Mar 4 2020, 2:37 PM · Restricted Project
mvels added a reviewer for D75639: Partially inline basic_string copy constructor in UNSTABLE: EricWF.
Mar 4 2020, 12:57 PM · Restricted Project
mvels created D75639: Partially inline basic_string copy constructor in UNSTABLE.
Mar 4 2020, 12:57 PM · Restricted Project
mvels committed rG3712edb152ac: Revert "Partially inline basic_string copy constructor in UNSTABLE" (authored by mvels).
Revert "Partially inline basic_string copy constructor in UNSTABLE"
Mar 4 2020, 12:23 PM
mvels added a reverting change for rG8cf76e913b86: Partially inline basic_string copy constructor in UNSTABLE his change splits…: rG3712edb152ac: Revert "Partially inline basic_string copy constructor in UNSTABLE".
Mar 4 2020, 12:23 PM

Mar 3 2020

mvels updated the diff for D75554: Partially inline basic_string::assign(__s [, __n]) methods..

Diff to HEAD

Mar 3 2020, 3:33 PM · Restricted Project
mvels updated the diff for D75554: Partially inline basic_string::assign(__s [, __n]) methods..

Fixed bug / omitting __n parameter

Mar 3 2020, 3:33 PM · Restricted Project
mvels added inline comments to D75554: Partially inline basic_string::assign(__s [, __n]) methods..
Mar 3 2020, 3:33 PM · Restricted Project
mvels committed rG8cf76e913b86: Partially inline basic_string copy constructor in UNSTABLE his change splits… (authored by mvels).
Partially inline basic_string copy constructor in UNSTABLE his change splits…
Mar 3 2020, 3:02 PM
mvels closed D73223: Partially inline basic_string copy constructor in UNSTABLE.
Mar 3 2020, 3:01 PM · Restricted Project
mvels updated the diff for D73223: Partially inline basic_string copy constructor in UNSTABLE.

Rebased

Mar 3 2020, 3:00 PM · Restricted Project
mvels updated the diff for D73223: Partially inline basic_string copy constructor in UNSTABLE.
  • Moved test
Mar 3 2020, 1:50 PM · Restricted Project
mvels updated the diff for D73223: Partially inline basic_string copy constructor in UNSTABLE.

Diff vs origin

Mar 3 2020, 1:47 PM · Restricted Project
mvels updated the diff for D73223: Partially inline basic_string copy constructor in UNSTABLE.

Updated comments, synced with master

Mar 3 2020, 1:14 PM · Restricted Project
mvels updated the diff for D73223: Partially inline basic_string copy constructor in UNSTABLE.

Update comments

Mar 3 2020, 1:14 PM · Restricted Project
mvels created D75554: Partially inline basic_string::assign(__s [, __n]) methods..
Mar 3 2020, 11:57 AM · Restricted Project

Mar 2 2020

mvels committed rG675326466b53: Add flag _LIBCPP_ABI_STRING_OPTIMIZED_EXTERNAL_INSTANTIATIONS for basic_string… (authored by mvels).
Add flag _LIBCPP_ABI_STRING_OPTIMIZED_EXTERNAL_INSTANTIATIONS for basic_string…
Mar 2 2020, 7:30 AM
mvels closed D75457: Add flag _LIBCPP_ABI_STRING_OPTIMIZED_EXTERNAL_INSTANTIATIONS for basic_string ABI.
Mar 2 2020, 7:30 AM · Restricted Project
Herald added a reviewer for D75457: Add flag _LIBCPP_ABI_STRING_OPTIMIZED_EXTERNAL_INSTANTIATIONS for basic_string ABI: mclow.lists.

Heads up: this trivial change was per-approved per EricWf, I will be committing after double checking build and unit tests for stable and unstable

Mar 2 2020, 7:14 AM · Restricted Project
mvels created D75457: Add flag _LIBCPP_ABI_STRING_OPTIMIZED_EXTERNAL_INSTANTIATIONS for basic_string ABI.
Mar 2 2020, 7:14 AM · Restricted Project
mvels committed rGf87d30cba2b5: Partially inline basic_string::operator=(const basic_string&) (authored by mvels).
Partially inline basic_string::operator=(const basic_string&)
Mar 2 2020, 7:04 AM
mvels closed D75211: Partially inline basic_string::operator=(const basic_string&).
Mar 2 2020, 7:04 AM · Restricted Project

Feb 27 2020

mvels added inline comments to D75211: Partially inline basic_string::operator=(const basic_string&).
Feb 27 2020, 5:51 PM · Restricted Project