Page MenuHomePhabricator

Dmitry.Kozhevnikov (Dmitry)
User

Projects

User does not belong to any projects.

User Details

User Since
Jul 23 2018, 1:40 AM (56 w, 4 h)

Recent Activity

May 21 2019

Dmitry.Kozhevnikov added a comment to D51103: [Support] Add a way to run a function on a detached thread.

@Dmitry.Kozhevnikov, is this good to go or do you plan more changes?

May 21 2019, 2:30 AM · Restricted Project
Dmitry.Kozhevnikov updated the diff for D50993: [clangd] Increase stack size of the new threads on macOS.

moved to the monorepo

May 21 2019, 2:24 AM · Restricted Project
Dmitry.Kozhevnikov updated the diff for D51103: [Support] Add a way to run a function on a detached thread.
May 21 2019, 2:11 AM · Restricted Project
Dmitry.Kozhevnikov updated the diff for D51103: [Support] Add a way to run a function on a detached thread.
  • moved to monorepo, rebased
  • I've added an std::thread-based implementation of llvm_execute_on_thread_async when threading is on, but it's non-win32 non-pthread implementation (otherwise we should expose this detail for clients so they could decide if they could use it).
May 21 2019, 2:08 AM · Restricted Project
Dmitry.Kozhevnikov set the repository for D51103: [Support] Add a way to run a function on a detached thread to rG LLVM Github Monorepo.
May 21 2019, 2:04 AM · Restricted Project

May 9 2019

Dmitry.Kozhevnikov added a comment to D50993: [clangd] Increase stack size of the new threads on macOS.

I'd still put it into LLVM to avoid platform-specific code in clangd.
Maybe std::abort() in the added ...Async function if threads are disabled? It's a bit unusual, but would allow keeping this function where it belongs.

May 9 2019, 10:55 AM · Restricted Project
Dmitry.Kozhevnikov added a comment to D50993: [clangd] Increase stack size of the new threads on macOS.

We should definitely land this.

@Dmitry.Kozhevnikov, you don't have commit access, right? Should we land these two revisions for you?

May 9 2019, 8:11 AM · Restricted Project

Aug 27 2018

Dmitry.Kozhevnikov added a comment to D51103: [Support] Add a way to run a function on a detached thread.
In D51103#1214852, @jfb wrote:

Unix stuff looks good. I didn't look at Windows.

Aug 27 2018, 12:51 PM · Restricted Project
Dmitry.Kozhevnikov updated the diff for D51103: [Support] Add a way to run a function on a detached thread.

Address review comments:

  • use error code returned from pthread functions to report errors
  • use naked new instead of unique_ptr (it's always released anyway)
  • tune comments
  • add matching function stubs when threading implementation is unavailable or unknown
Aug 27 2018, 12:44 PM · Restricted Project
Dmitry.Kozhevnikov added inline comments to D51103: [Support] Add a way to run a function on a detached thread.
Aug 27 2018, 9:14 AM · Restricted Project
Dmitry.Kozhevnikov added inline comments to D51103: [Support] Add a way to run a function on a detached thread.
Aug 27 2018, 9:05 AM · Restricted Project
Dmitry.Kozhevnikov updated the diff for D51103: [Support] Add a way to run a function on a detached thread.

Addressed review comments:

  • Any failure when spawning a thread now causes a fatal error
  • Replaced a bool flag with an enum
  • Replaced unsigned RequestedStackSize with Optional<unsigned> StackSizeInBytes
Aug 27 2018, 3:19 AM · Restricted Project
Dmitry.Kozhevnikov added a comment to D50462: Try building complete AST after a fatal error was emitted if further diagnostics are expected.

When lookin through the list of the fatal errors, I think there are different categories:

Aug 27 2018, 2:17 AM

Aug 26 2018

Dmitry.Kozhevnikov added a comment to D50455: Continue emitting diagnostics after a fatal error.

Nevertheless, I think this is moving clangd in the right direction and if we see too many irrelevant errors, we should look into improving clang to show less of those.

Aug 26 2018, 12:52 PM

Aug 24 2018

Dmitry.Kozhevnikov added a comment to D50993: [clangd] Increase stack size of the new threads on macOS.

@Dmitry.Kozhevnikov, do you need us to land the patch?
Any last changes you'd like to make?

Aug 24 2018, 2:35 AM · Restricted Project

Aug 22 2018

Dmitry.Kozhevnikov updated the diff for D51103: [Support] Add a way to run a function on a detached thread.

Added a smoke test for blocking llvm_execute_on_thread as well

Aug 22 2018, 8:59 AM · Restricted Project
Dmitry.Kozhevnikov added inline comments to D51103: [Support] Add a way to run a function on a detached thread.
Aug 22 2018, 8:50 AM · Restricted Project
Dmitry.Kozhevnikov updated the diff for D51103: [Support] Add a way to run a function on a detached thread.
Aug 22 2018, 8:49 AM · Restricted Project
Dmitry.Kozhevnikov updated the diff for D50993: [clangd] Increase stack size of the new threads on macOS.

I've moved the platform-specific implementation to LLVM/Support/Threading and created https://reviews.llvm.org/D51103.

Aug 22 2018, 7:29 AM · Restricted Project
Dmitry.Kozhevnikov created D51103: [Support] Add a way to run a function on a detached thread.
Aug 22 2018, 7:28 AM · Restricted Project
Dmitry.Kozhevnikov added a comment to D50993: [clangd] Increase stack size of the new threads on macOS.
In D50993#1207757, @jfb wrote:

Isn't this duplicating code in lib/Support/Unix/Threading.inc with a different implementation?

Aug 22 2018, 12:16 AM · Restricted Project

Aug 21 2018

Dmitry.Kozhevnikov added a comment to D50993: [clangd] Increase stack size of the new threads on macOS.
  1. Can we put the helper that executes the tasks asynchronously with a stack size into llvm's threading library (i.e. somewhere close to llvm::execute_on_thread?) All platform-specific code is already there, we can reuse most of the implementation too.
Aug 21 2018, 6:11 AM · Restricted Project

Aug 20 2018

Dmitry.Kozhevnikov created D50993: [clangd] Increase stack size of the new threads on macOS.
Aug 20 2018, 1:10 PM · Restricted Project

Aug 17 2018

Dmitry.Kozhevnikov added a comment to D50462: Try building complete AST after a fatal error was emitted if further diagnostics are expected.

Have you checked that produced AST is of sufficient quality to be used? Because, for example, for invalid code error recovery tries to keep going but the end result isn't always good.
In the test you verify that you can ignore bogus includes. Is this the real-world use case you want to address? Or something like "stddef.h not found"?

Aug 17 2018, 5:21 AM

Aug 15 2018

Dmitry.Kozhevnikov added a comment to D50462: Try building complete AST after a fatal error was emitted if further diagnostics are expected.

On a second look I think that there is value separating the concepts of 'producing diagnostics' after hitting the fatal error (which is SuppressAfterFatalError currently does), and trying to build a more complete AST.

Aug 15 2018, 10:45 AM
Dmitry.Kozhevnikov updated the diff for D50462: Try building complete AST after a fatal error was emitted if further diagnostics are expected.

Addressed the review comment about separating "suppressing diagnostics" from "providing more complete AST"

Aug 15 2018, 10:44 AM
Dmitry.Kozhevnikov added a comment to D50455: Continue emitting diagnostics after a fatal error.

I'm a bit worried that clang may emit too many irrelevant errors, because it may not cope nicely with those fatal errors, i.e. wasn't tested that thoroughly in that mode.

Aug 15 2018, 10:11 AM
Dmitry.Kozhevnikov updated the diff for D50455: Continue emitting diagnostics after a fatal error.

Add a unit test which explicitly builds preamble/AST

Aug 15 2018, 10:08 AM

Aug 8 2018

Dmitry.Kozhevnikov added a comment to D50455: Continue emitting diagnostics after a fatal error.

See also https://reviews.llvm.org/D50462

Aug 8 2018, 10:08 AM
Dmitry.Kozhevnikov created D50462: Try building complete AST after a fatal error was emitted if further diagnostics are expected.
Aug 8 2018, 10:05 AM
Dmitry.Kozhevnikov created D50455: Continue emitting diagnostics after a fatal error.
Aug 8 2018, 9:17 AM