ilya-biryukov added a comment.

This is still WIP, but wanted to share anyway the progress anyway.
Need to fix the FIXMEs currently added to the code and add tests.



================
Comment at: clangd/index/FileIndex.cpp:81
   if (!Slab)
     FileToSlabs.erase(Path);
   else
----------------
We need to be more careful here now that we have to slabs in the list. Should 
only erase when both are removed.


================
Comment at: clangd/index/FileIndex.cpp:87
+void FileSymbols::updateMainFile(PathRef Path, SymbolSlab::Builder Builder) {
+  // FIXME(ibiryukov): most of this work should be done outside the lock.
+  std::lock_guard<std::mutex> Lock(Mutex);
----------------
This should definitely be done outside the lock, only the actual swap of the 
symbol tables should be there.


Repository:
  rCTE Clang Tools Extra

https://reviews.llvm.org/D50889



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to