Page MenuHomePhabricator

rmaprath (Asiri Rathnayake)
User

Projects

User does not belong to any projects.

User Details

User Since
May 27 2014, 1:41 AM (288 w, 6 d)

Recent Activity

Apr 24 2017

rmaprath abandoned D23796: [libcxx] Make it possible to test static builds of libc++ on OSX.

Looks like I'm the only one interested in this - abandoning.

Apr 24 2017, 12:34 PM

Apr 12 2017

rmaprath added a comment to D29818: [libcxx] Threading support: Attempt to externalize system_clock::now() and steady_clock::now() implementations.

Apologies for the delay in replying to this.

Apr 12 2017, 4:11 AM

Apr 4 2017

rmaprath updated the diff for D31178: [libcxxabi] Fix exception address alignment test for EHABI.

Addressed review comments from @EricWF .

Apr 4 2017, 7:13 AM

Mar 21 2017

rmaprath updated the diff for D31178: [libcxxabi] Fix exception address alignment test for EHABI.

Fixed a few paths.

Mar 21 2017, 3:36 AM
rmaprath created D31178: [libcxxabi] Fix exception address alignment test for EHABI.
Mar 21 2017, 3:26 AM

Mar 14 2017

rmaprath added a comment to D29818: [libcxx] Threading support: Attempt to externalize system_clock::now() and steady_clock::now() implementations.

@EricWF: Ping?

Mar 14 2017, 9:40 AM
rmaprath added a comment to D29757: [libcxx] Threading support: Externalize hardware_concurrency().

@EricWF: Ping?

Mar 14 2017, 9:40 AM

Mar 2 2017

rmaprath added a comment to D30516: [libc++] Add option to disable new/delete overloads when libc++abi provides them..

Thanks for these patches!

Mar 2 2017, 3:50 AM

Mar 1 2017

rmaprath added a comment to D30459: [libcxxabi] Clean up macro usage.
In D30459#689461, @rs wrote:

Thanks for reviewing. Before I commit could you tell me if I need to update any build systems e.g. buildbots ?

Mar 1 2017, 3:30 AM

Feb 28 2017

rmaprath updated the diff for D29818: [libcxx] Threading support: Attempt to externalize system_clock::now() and steady_clock::now() implementations.

Fixed minor omission.

Feb 28 2017, 7:01 AM

Feb 24 2017

rmaprath added a comment to D30339: [libcxxabi] Disable calls to fprintf when building for baremetal targets in release mode.

Perhaps change config.h and remove the definition there and adjust other places accordingly?

Feb 24 2017, 9:41 AM
rmaprath updated the diff for D29818: [libcxx] Threading support: Attempt to externalize system_clock::now() and steady_clock::now() implementations.

Different approach: Externalize these functions only for the external-thread-api library variant.

Feb 24 2017, 6:41 AM
rmaprath updated the diff for D29757: [libcxx] Threading support: Externalize hardware_concurrency().

Different take on the patch: Externalize this function only for the externally-thread-api variant.

Feb 24 2017, 6:38 AM

Feb 23 2017

rmaprath added a comment to D30290: [libcxx][zorg] Fix no-exceptions builder configurations.

Committed as r295963.

Feb 23 2017, 4:27 AM
rmaprath added inline comments to D30290: [libcxx][zorg] Fix no-exceptions builder configurations.
Feb 23 2017, 2:44 AM
rmaprath updated the diff for D30290: [libcxx][zorg] Fix no-exceptions builder configurations.

Updated to address comments from @rengolin.

Feb 23 2017, 2:41 AM
rmaprath added inline comments to D30290: [libcxx][zorg] Fix no-exceptions builder configurations.
Feb 23 2017, 2:30 AM
rmaprath created D30290: [libcxx][zorg] Fix no-exceptions builder configurations.
Feb 23 2017, 2:01 AM

Feb 15 2017

rmaprath added a comment to D29818: [libcxx] Threading support: Attempt to externalize system_clock::now() and steady_clock::now() implementations.

Ping?

Feb 15 2017, 6:20 AM
rmaprath added a comment to D29757: [libcxx] Threading support: Externalize hardware_concurrency().

Ping?

Feb 15 2017, 6:20 AM
rmaprath added a comment to D13289: [libc++] Provide additional templates for valarray transcendentals that satisfy the standard synopsis.

I've raised PR31966 to poke this :)

Feb 15 2017, 4:03 AM

Feb 13 2017

rmaprath abandoned D29763: Tighten ARMConstantInslands pass for Thumb-1 targets.

Abandoning: @jmolloy has committed a semantically equivalent patch: https://reviews.llvm.org/rL294949

Feb 13 2017, 6:47 AM
rmaprath abandoned D29762: Properly register the ARMConstantIslands pass with PassRegistry.

Abandoning: @jmolloy has committed a semantically equivalent patch: https://reviews.llvm.org/rL294948

Feb 13 2017, 6:46 AM
rmaprath updated the diff for D29818: [libcxx] Threading support: Attempt to externalize system_clock::now() and steady_clock::now() implementations.

Re-based.

Feb 13 2017, 6:06 AM
rmaprath updated the diff for D29757: [libcxx] Threading support: Externalize hardware_concurrency().

Re-based on trunk.

Feb 13 2017, 6:05 AM
rmaprath updated the diff for D29763: Tighten ARMConstantInslands pass for Thumb-1 targets.

Addressing review comments: Get rid of the tab characters.

Feb 13 2017, 5:41 AM
rmaprath updated the diff for D29762: Properly register the ARMConstantIslands pass with PassRegistry.

Address review comments: Get rid of the unnecessary pass id definition in the llvm namespace.

Feb 13 2017, 5:40 AM

Feb 10 2017

rmaprath created D29818: [libcxx] Threading support: Attempt to externalize system_clock::now() and steady_clock::now() implementations.
Feb 10 2017, 4:15 AM

Feb 9 2017

rmaprath added a parent revision for D29763: Tighten ARMConstantInslands pass for Thumb-1 targets: D29762: Properly register the ARMConstantIslands pass with PassRegistry.
Feb 9 2017, 7:30 AM
rmaprath added a child revision for D29762: Properly register the ARMConstantIslands pass with PassRegistry: D29763: Tighten ARMConstantInslands pass for Thumb-1 targets.
Feb 9 2017, 7:30 AM
rmaprath created D29763: Tighten ARMConstantInslands pass for Thumb-1 targets.
Feb 9 2017, 7:30 AM
rmaprath created D29762: Properly register the ARMConstantIslands pass with PassRegistry.
Feb 9 2017, 7:27 AM
rmaprath created D29757: [libcxx] Threading support: Externalize hardware_concurrency().
Feb 9 2017, 4:20 AM

Feb 8 2017

rmaprath added a comment to D29630: [libcxx] Threading support: externalize sleep_for().

Sorry for the delay, I've updated the patch with all the comments addressed.

@EricWF: Got one question before I commit: The sleep_for function in the dylib (thread.cpp) is now quite small. Is there a particular reason to keep it there? I was wondering if we should move that bit to the <thread> header altogether.

Removing the definition in the dylib would be ABI breaking.

Feb 8 2017, 9:30 AM
rmaprath updated the diff for D29630: [libcxx] Threading support: externalize sleep_for().

Sorry for the delay, I've updated the patch with all the comments addressed.

Feb 8 2017, 9:26 AM

Feb 7 2017

rmaprath added inline comments to D29630: [libcxx] Threading support: externalize sleep_for().
Feb 7 2017, 6:19 AM
rmaprath created D29630: [libcxx] Threading support: externalize sleep_for().
Feb 7 2017, 4:38 AM
rmaprath abandoned D29629: [libcxx] Threading support: externalize sleep_for().

Abandoning - forgot cfe-commits....

Feb 7 2017, 4:37 AM
rmaprath created D29629: [libcxx] Threading support: externalize sleep_for().
Feb 7 2017, 4:36 AM

Jan 24 2017

rmaprath added a comment to D29063: [libcxx] Never use <cassert> within libc++.

Sorry, I meant -DLIBCXX_ENABLE_ASSERTIONS=ON.

Jan 24 2017, 4:32 AM
rmaprath added a comment to D29063: [libcxx] Never use <cassert> within libc++.

@EricWF: My downstream builds have -DLLVM_ENABLE_ASSERTIONS=ON by default and they are showing some failures after this commit. Log attached:

Jan 24 2017, 4:31 AM

Jan 12 2017

rmaprath retitled D28610: [libcxx] Improve design documentation for the external-thread-library configuration from to [libcxx] Improve design documentation for the external-thread-library configuration.
Jan 12 2017, 8:35 AM
rmaprath retitled D28608: [libcxx] Don't assume __libcpp_thread_t is an integral type. from to [libcxx] Don't assume __libcpp_thread_t is an integral type..
Jan 12 2017, 5:43 AM

Jan 5 2017

rmaprath accepted D28316: [libc++] Cleanup and document <__threading_support>.
Jan 5 2017, 4:22 AM
rmaprath added a comment to D28316: [libc++] Cleanup and document <__threading_support>.

(btw, do those docs updates land on some web URL automagically when committed?).

Assuming the builder isn't broken then yes, the docs should automagically update within ~3 minutes.

I think we should point out on the docs that _LIBCPP_HAS_THREAD_LIBRARY_EXTERNAL is only meant for libc++ developers / testers. The purpose of this library variant is to:

  • Demonstrate that libc++ can be built with threading support externalised. We use pthreads as the underlying implementation in this case because that's the one we can easily test on any platform. I don't think anyone wants to distribute this library variant to users; they would rather compile libc++ for pthread directly instead.
  • Write tests that applies to the LIBCXX_HAS_EXTERNAL_THREAD_API variant. For example, I hope to write a test to check that the produced libc++ dylib has no references to pthread_ symbols within it. Such a test will ensure that the core sources of libc++ remains pthread-free (all threading should be wired through the threading API). If a library vendors really wants to distribute a variant of libc++ with the threading support externalised, they should use a custom __external_threading header to replicate the behaviour of _LIBCPP_HAS_THREAD_LIBRARY_EXTERNAL.

    Hope that makes sense?

All of that makes sense. I think you could write those docs better than I could. Would you be willing to update them?

Jan 5 2017, 4:01 AM
rmaprath added a comment to D28316: [libc++] Cleanup and document <__threading_support>.

This is much better (few nits inline). And many thanks for the docs update (btw, do those docs updates land on some web URL automagically when committed?).

Jan 5 2017, 2:08 AM

Jan 4 2017

rmaprath added a comment to D28229: [libcxx] Fix testing of the externally-threaded library build after r290850.

I dont think that making Win32 threading an external one makes much sense unless we also do the same for pthreads. Its just as valid a threading model as pthreads, so why give preferential treatment to that? (Sure, there are more buildbots using it, but thats not a strong technical justification).

Jan 4 2017, 5:57 AM
rmaprath retitled D28285: Fix x86 gold tests on no-x86 targets from to Fix x86 gold tests on no-x86 targets.
Jan 4 2017, 3:46 AM

Jan 3 2017

rmaprath added a comment to D28229: [libcxx] Fix testing of the externally-threaded library build after r290850.

I will commit this now to get the testing working again. Thought of putting up the patch for review in case if there is a better way to do this.

Jan 3 2017, 3:36 AM
rmaprath retitled D28229: [libcxx] Fix testing of the externally-threaded library build after r290850 from to [libcxx] Fix testing of the externally-threaded library build after r290850.
Jan 3 2017, 3:32 AM

Dec 30 2016

rmaprath abandoned D20874: [libcxx] Two more threading dependencies.

Most of this is no longer needed. I'll submit patches for the parts that are actually needed (e.g. nanosleep) later on. Thanks.

Dec 30 2016, 3:41 AM

Dec 29 2016

rmaprath added inline comments to D27575: [libcxxabi] Introduce an externally threaded libc++abi variant (take-2).
Dec 29 2016, 7:15 AM

Dec 19 2016

rmaprath added a comment to D27576: [libcxx] libc++ changes necessary for the externally threaded libcxxabi variant.

Ping.

Dec 19 2016, 1:29 AM
rmaprath added a comment to D27575: [libcxxabi] Introduce an externally threaded libc++abi variant (take-2).

Ping.

Dec 19 2016, 1:29 AM

Dec 15 2016

rmaprath added a comment to D27576: [libcxx] libc++ changes necessary for the externally threaded libcxxabi variant.

Gentle ping.

Dec 15 2016, 2:21 AM
rmaprath added a comment to D27575: [libcxxabi] Introduce an externally threaded libc++abi variant (take-2).

Gentle ping.

Dec 15 2016, 2:20 AM

Dec 12 2016

rmaprath added a comment to D27614: Mark tests as unsupported under libcpp-no-exceptions.

LGTM. Needs approval from @EricWF or @mclow.lists.

Dec 12 2016, 3:16 AM
rmaprath added a comment to D27575: [libcxxabi] Introduce an externally threaded libc++abi variant (take-2).

Patch updated with more context.

Dec 12 2016, 2:36 AM
rmaprath updated the diff for D27575: [libcxxabi] Introduce an externally threaded libc++abi variant (take-2).
Dec 12 2016, 2:36 AM
rmaprath added inline comments to D27575: [libcxxabi] Introduce an externally threaded libc++abi variant (take-2).
Dec 12 2016, 2:34 AM
rmaprath added inline comments to D27576: [libcxx] libc++ changes necessary for the externally threaded libcxxabi variant.
Dec 12 2016, 1:53 AM
rmaprath updated the diff for D27576: [libcxx] libc++ changes necessary for the externally threaded libcxxabi variant.
Dec 12 2016, 1:52 AM

Dec 8 2016

rmaprath abandoned D27206: [libcxx] Test support for the externally threaded libcxxabi variant.

Abandoning (replaced with D27575/D27576).

Dec 8 2016, 9:10 AM
rmaprath added a child revision for D27575: [libcxxabi] Introduce an externally threaded libc++abi variant (take-2): D27576: [libcxx] libc++ changes necessary for the externally threaded libcxxabi variant.
Dec 8 2016, 9:09 AM
rmaprath added a parent revision for D27576: [libcxx] libc++ changes necessary for the externally threaded libcxxabi variant: D27575: [libcxxabi] Introduce an externally threaded libc++abi variant (take-2).
Dec 8 2016, 9:09 AM
rmaprath retitled D27576: [libcxx] libc++ changes necessary for the externally threaded libcxxabi variant from to [libcxx] libc++ changes necessary for the externally threaded libcxxabi variant.
Dec 8 2016, 9:09 AM
rmaprath abandoned D27204: [libcxxabi] Introduce an externally threaded libc++abi variant.

Abandoning as this has been replaced with D27575.

Dec 8 2016, 9:06 AM
rmaprath retitled D27575: [libcxxabi] Introduce an externally threaded libc++abi variant (take-2) from to [libcxxabi] Introduce an externally threaded libc++abi variant (take-2).
Dec 8 2016, 9:05 AM

Dec 5 2016

rmaprath added a reviewer for D27204: [libcxxabi] Introduce an externally threaded libc++abi variant: christof.
Dec 5 2016, 3:41 AM
rmaprath added a comment to D27204: [libcxxabi] Introduce an externally threaded libc++abi variant.

My main issue with this patch (and D27206) is that there are now two different CMake options for building two different external threading libraries. I would much prefer having libc++abi use libc++'s __threading_support header and cxx_external_threads library.

I would like to do that too!

But I always viewed libcxx and libcxxabi as two independent libraries that should be usable on their own. In this case, binding libcxxabi to __threading_support from libcxx sounded wrong, because __threading_support is something internal to libcxx (e.g. all the functions there are prefixed with __libcpp_ - there may be other libcpp-isms arising from __config in there too).

Ironically I've always viewed libcxxabi as fully dependent on libcxx (and personally I would like to see the repos merged; Although using libc++ w/o libc++abi would still be supported).

Is that not a concern? I could give it a shot and try to merge the two APIs into one if not.

It's not a concern. Libc++abi already depends on libc++ internals to build (See the #include "__refstring" in stdlib_stdexcept.cpp`).

Dec 5 2016, 2:15 AM
rmaprath added a comment to D27204: [libcxxabi] Introduce an externally threaded libc++abi variant.

My main issue with this patch (and D27206) is that there are now two different CMake options for building two different external threading libraries. I would much prefer having libc++abi use libc++'s __threading_support header and cxx_external_threads library.

Dec 5 2016, 1:47 AM

Nov 29 2016

rmaprath updated subscribers of D27206: [libcxx] Test support for the externally threaded libcxxabi variant.
Nov 29 2016, 5:21 AM
rmaprath added a child revision for D27204: [libcxxabi] Introduce an externally threaded libc++abi variant: D27206: [libcxx] Test support for the externally threaded libcxxabi variant.
Nov 29 2016, 5:20 AM
rmaprath added a parent revision for D27206: [libcxx] Test support for the externally threaded libcxxabi variant: D27204: [libcxxabi] Introduce an externally threaded libc++abi variant.
Nov 29 2016, 5:20 AM
rmaprath retitled D27206: [libcxx] Test support for the externally threaded libcxxabi variant from to [libcxx] Test support for the externally threaded libcxxabi variant.
Nov 29 2016, 5:19 AM
rmaprath retitled D27204: [libcxxabi] Introduce an externally threaded libc++abi variant from to [libcxxabi] Introduce an externally threaded libc++abi variant.
Nov 29 2016, 5:11 AM

Nov 19 2016

rmaprath added a comment to D26458: Protect nested-exceptions tests under no-exceptions.

On the other hand, disabling <exception> would mean disabling some parts of the library as well (in this case, std::promise::set_exception). Perhaps that's a bad path to follow. Not sure.

Nov 19 2016, 6:18 AM
rmaprath added a comment to D26458: Protect nested-exceptions tests under no-exceptions.

There are cases where it is useful to be able to name std::nested_exception while exceptions are disabled.

Nov 19 2016, 6:15 AM

Nov 9 2016

rmaprath added a comment to D26458: Protect nested-exceptions tests under no-exceptions.

Not sure if either of these tests add much value to the no-exceptions variant, using std::nested_exception with such a library seem pointless to me. Perhaps marking these as UNSUPPORTED is a better fix?

Nov 9 2016, 11:52 AM
rmaprath added a comment to D26458: Protect nested-exceptions tests under no-exceptions.

Not sure if either of these tests add much value to the no-exceptions variant, using std::nested_exception with such a library seem pointless to me. Perhaps marking these as UNSUPPORTED is a better fix?

Nov 9 2016, 11:50 AM
rmaprath added a comment to D26457: Protect smart-pointer tests under no exceptions.

LGTM.

Nov 9 2016, 11:46 AM

Nov 6 2016

rmaprath added a comment to D26139: Tests for strings conversions under libcpp-no-exceptions .
I think it might be better to add TEST_TRY and TEST_CATCH(...) macros defined like

@rogfer01 said at the top that he didn't want to add "a magical TEST_TRY macro" - and I agree. Someone tried that in another review, and I nixed it there.

Nov 6 2016, 1:43 AM

Nov 2 2016

rmaprath added a comment to D26139: Tests for strings conversions under libcpp-no-exceptions .

Would it be more cleaner to separate out the exceptions-related tests into their own functions? So, we'd have the two functions test_withexceptions() and test_noexceptions(); the former will only be invoked when testing the normal library variant, the latter will be invoked for all the library variants.

Nov 2 2016, 3:00 AM

Oct 31 2016

rmaprath added inline comments to D26136: Protect exceptional path under libcpp-no-exceptions.
Oct 31 2016, 3:22 AM
rmaprath added inline comments to D26136: Protect exceptional path under libcpp-no-exceptions.
Oct 31 2016, 2:47 AM

Oct 30 2016

rmaprath added a comment to D26075: Change from "XFAIL: libcpp-no-exceptions" to "UNSUPPORTED: libcpp-no-exceptions" tests that only check exceptions and nothing else.

This looks sensible to me. I'll let @EricWF approve.

Oct 30 2016, 1:57 PM

Oct 23 2016

rmaprath added a comment to D25899: [libunwind] Add support for Fuchsia.

This looks fine to me. I'll let either @compnerd or @jroelofs approve.

Oct 23 2016, 12:56 AM
rmaprath added a reviewer for D25899: [libunwind] Add support for Fuchsia: jroelofs.
Oct 23 2016, 12:54 AM

Oct 14 2016

rmaprath added a comment to D24864: [libcxxabi] Refactor pthread usage into a separate API.

Thanks, done D25636

Oct 14 2016, 5:07 PM
rmaprath added a comment to D24864: [libcxxabi] Refactor pthread usage into a separate API.

Maybe?

- if (UNIX AND NOT (APPLE OR CYGWIN))
+ if (LIBCXXABI_ENABLE_THREADS AND UNIX AND NOT (APPLE OR CYGWIN))
list(APPEND LIBCXXABI_SOURCES cxa_thread_atexit.cpp)
endif()
Oct 14 2016, 4:58 PM
rmaprath added a comment to D24864: [libcxxabi] Refactor pthread usage into a separate API.

So there is:

  • Looking for __cxa_thread_atexit_impl in c
  • Looking for __cxa_thread_atexit_impl in c - not found

    and libcxx is configured with -DLIBCXX_ENABLE_THREADS=OFF
Oct 14 2016, 4:51 PM
rmaprath closed D24864: [libcxxabi] Refactor pthread usage into a separate API.

Committed as r284128.

Oct 14 2016, 2:13 AM

Oct 13 2016

rmaprath added a comment to D25468: [libcxx] Do not declare the thread api when __external_threading is present.

@EricWF: Gentle ping.

Oct 13 2016, 12:12 PM
rmaprath updated the diff for D24864: [libcxxabi] Refactor pthread usage into a separate API.

Patch re-based on the latest trunk.

Oct 13 2016, 8:09 AM

Oct 12 2016

rmaprath added a comment to D21803: [libcxxabi] Provide a fallback __cxa_thread_atexit() implementation.

@rmaprath I'll merge this if needed. Feel free to commit your patch first.

Yeah, @rmaprath I'm happy to rebase this over your patch.

Oct 12 2016, 1:36 AM

Oct 11 2016

rmaprath added a comment to D25468: [libcxx] Do not declare the thread api when __external_threading is present.

Added some comments to @EricWF's feedback. Will check back tomorrow (falling asleep...)

Oct 11 2016, 3:09 PM
rmaprath retitled D25468: [libcxx] Do not declare the thread api when __external_threading is present from to [libcxx] Do not declare the thread api when __external_threading is present.
Oct 11 2016, 5:26 AM

Oct 10 2016

rmaprath closed D25361: [libcxx] Add the missing limits.h header.

Committed as r283726.

Oct 10 2016, 1:49 AM

Oct 7 2016

rmaprath updated D25361: [libcxx] Add the missing limits.h header.
Oct 7 2016, 3:17 AM
rmaprath updated D25361: [libcxx] Add the missing limits.h header.
Oct 7 2016, 3:16 AM