Page MenuHomePhabricator

jdoerrie (Jan Wilken Dörrie)
User

Projects

User does not belong to any projects.

User Details

User Since
May 2 2017, 5:38 AM (317 w, 6 d)

Recent Activity

Feb 17 2022

jdoerrie added a comment to D120064: Fix EBO on std::optional and std::variant when targeting the MSVC ABI.

Hi both, PTAL. I was surprised to find out that both std::variant<int> and std::optional<int> have a sizeof 12 in my environment, this is my attempt to fix it. Please do let me know if there are other places I need to change, or how I would write a test to prevent future regressions.

Feb 17 2022, 8:16 AM · Restricted Project, Restricted Project
jdoerrie requested review of D120064: Fix EBO on std::optional and std::variant when targeting the MSVC ABI.
Feb 17 2022, 8:12 AM · Restricted Project, Restricted Project

Oct 14 2020

jdoerrie accepted D89353: Enable overriding `__libcpp_debug_function` invocation.

LGTM, no concerns from my side.

Oct 14 2020, 1:37 AM · Restricted Project

Oct 12 2020

jdoerrie added a comment to D88864: Add assert in `constexpr string_view::operator[]`.

Late LGTM.

Oct 12 2020, 12:56 AM · Restricted Project

May 20 2020

jdoerrie added a comment to D69827: [libcxx] Remove swap for std::span.

"Jan Wilken Dörrie <jdoerrie@google.com>" works for me :)

May 20 2020, 11:27 AM · Restricted Project

May 19 2020

jdoerrie added a comment to D69827: [libcxx] Remove swap for std::span.

Thanks, Louis! I rebased the diff on the latest master. Could you land the patch for me? I believe I lack the required permissions to do this myself.

May 19 2020, 7:33 AM · Restricted Project
jdoerrie updated the diff for D69827: [libcxx] Remove swap for std::span.

Rebase

May 19 2020, 7:33 AM · Restricted Project

May 13 2020

jdoerrie added a comment to D70343: Add a `_LIBCPP_HARDEN` define.

Here are some binary size numbers, from a Chromium release build. Here is the build configuration (likely meaningful only to Chromium people; but this basically means "fully optimized except for the final PGO phase"):

~/chromium/src $ cat out/Release/args.gn
is_debug = false
is_official_build = true
is_asan = false
use_goma = true
enable_nacl = false
is_component_build = false

origin/master:
-rwxr-xr-x 1 palmer primarygroup 162973344 May 12 17:30 out/Release/chrome

With libcxx-debug-level-0:
-rwxr-xr-x 1 palmer primarygroup 169825792 May 12 18:20 out/Release/chrome
Cost: 6,852,448 (4.2% of 162,973,344)

With libcxx-debug-level-0 with __builtin_trap instead of printing:
-rwxr-xr-x 1 palmer primarygroup 167307088 May 13 10:08 out/Release/chrome
Cost: 4,333,744 (2.6% of 162,973,344)

So the cost is still high, but significantly less with __builtin_trap. So I think this mode is valuable.

May 13 2020, 11:57 AM

May 12 2020

jdoerrie accepted D70343: Add a `_LIBCPP_HARDEN` define.

LGTM, but I would still like to know whether we actually need this in addition to _LIBCPP_DEBUG=0. As far as I can tell setting _LIBCPP_DEBUG to 0 makes _LIBCPP_ASSERT(x, m) be equivalent to ((x) ? (void)0 : abort_fun(x, m)), where abort_fun is effectively the following:

May 12 2020, 1:34 AM

Feb 16 2020

jdoerrie added a comment to D69520: [libc++] Disallow dynamic -> static span conversions.

Oh interesting! Yes, it looks like you are right.

Feb 16 2020, 10:47 AM
jdoerrie added a comment to D69827: [libcxx] Remove swap for std::span.

Friendly ping

Feb 16 2020, 10:10 AM · Restricted Project
jdoerrie added a comment to D69520: [libc++] Disallow dynamic -> static span conversions.

Friendly Ping

Feb 16 2020, 10:09 AM

Nov 15 2019

jdoerrie added a comment to D70343: Add a `_LIBCPP_HARDEN` define.

What's the difference between _LIBCPP_HARDEN and simply defining _LIBCPP_DEBUG=0? That should turn on _LIBCPP_ASSERT in the same cases.

Nov 15 2019, 5:27 PM

Nov 4 2019

jdoerrie created D69827: [libcxx] Remove swap for std::span.
Nov 4 2019, 2:08 PM · Restricted Project

Nov 3 2019

jdoerrie added inline comments to D69520: [libc++] Disallow dynamic -> static span conversions.
Nov 3 2019, 3:59 AM
jdoerrie updated the diff for D69520: [libc++] Disallow dynamic -> static span conversions.

Addressed Marshall's comments

Nov 3 2019, 3:59 AM

Oct 31 2019

jdoerrie added a comment to D69520: [libc++] Disallow dynamic -> static span conversions.

Thanks Jorg! Given that the status is still "Needs Review", I assume I also still need an LGTM from Marshall, Louis or Eric, right?

Oct 31 2019, 3:44 AM

Oct 30 2019

jdoerrie added a comment to D69520: [libc++] Disallow dynamic -> static span conversions.

Friendly Ping :)

Oct 30 2019, 3:27 AM

Oct 28 2019

jdoerrie updated the diff for D69520: [libc++] Disallow dynamic -> static span conversions.

Full patch

Oct 28 2019, 11:23 AM
jdoerrie updated the diff for D69520: [libc++] Disallow dynamic -> static span conversions.

Formatting

Oct 28 2019, 11:21 AM
jdoerrie created D69520: [libc++] Disallow dynamic -> static span conversions.
Oct 28 2019, 11:15 AM

Apr 1 2019

jdoerrie added a comment to D60069: Declare std::tuple_element as struct instead of class.

I'm less enthusiastic about this change than the one for PR39871, because there we were being inconsistent with ourselves.
However, my lack of enthusiasm is no reason not to land this.

Apr 1 2019, 9:37 AM · Restricted Project
jdoerrie updated the diff for D60069: Declare std::tuple_element as struct instead of class.

Remove redundant public: access controls

Apr 1 2019, 9:25 AM · Restricted Project
jdoerrie added a comment to D60069: Declare std::tuple_element as struct instead of class.

Did you check the places that inherit from tuple_element? The public/private bits change between class and struct.

Never mind. I was thinking of something else; I don't think that anything inherits from tuple_element

Apr 1 2019, 9:03 AM · Restricted Project
jdoerrie created D60069: Declare std::tuple_element as struct instead of class.
Apr 1 2019, 8:39 AM · Restricted Project

Aug 29 2017

jdoerrie added a comment to D32788: Fix std::inplace_merge to be stable for all inputs.

Thanks for applying a fix based on my patch! I could have sworn the added tests failed locally before applying the algorithm patch, though... oh well.

Aug 29 2017, 1:21 AM

May 10 2017

jdoerrie added a comment to D32788: Fix std::inplace_merge to be stable for all inputs.

Ping, please take a look at this.

May 10 2017, 11:52 PM

May 3 2017

jdoerrie added inline comments to D32788: Fix std::inplace_merge to be stable for all inputs.
May 3 2017, 1:33 AM
jdoerrie created D32788: Fix std::inplace_merge to be stable for all inputs.
May 3 2017, 1:22 AM