[clangd] Replace StringRef in SymbolLocation with a char pointer.
authorHaojian Wu <hokein@google.com>
Wed, 14 Nov 2018 11:55:45 +0000 (11:55 +0000)
committerHaojian Wu <hokein@google.com>
Wed, 14 Nov 2018 11:55:45 +0000 (11:55 +0000)
commitee54a2b501cf1d3e7e722d63c00463103a3b9cc4
tree6162ece147b8835cc1f0f2e9e748555836477c2e
parentee78ae6b869eccfb9938b18ab204453d2c0de638
[clangd] Replace StringRef in SymbolLocation with a char pointer.

Summary:
This would save us 8 bytes per ref, and buy us ~40MB in total
for llvm index (from ~300MB to ~260 MB).

The char pointer must be null-terminated, and llvm::StringSaver
guarantees it.

Reviewers: sammccall

Subscribers: ilya-biryukov, ioeric, MaskRay, jkorous, arphaman, kadircet, cfe-commits

Differential Revision: https://reviews.llvm.org/D53427

llvm-svn: 346852
14 files changed:
clang-tools-extra/clangd/index/Index.cpp
clang-tools-extra/clangd/index/Index.h
clang-tools-extra/clangd/index/Merge.cpp
clang-tools-extra/clangd/index/Serialization.cpp
clang-tools-extra/clangd/index/SymbolCollector.cpp
clang-tools-extra/clangd/index/YAMLSerialization.cpp
clang-tools-extra/clangd/index/dex/Dex.cpp
clang-tools-extra/unittests/clangd/BackgroundIndexTests.cpp
clang-tools-extra/unittests/clangd/CodeCompleteTests.cpp
clang-tools-extra/unittests/clangd/DexTests.cpp
clang-tools-extra/unittests/clangd/FileIndexTests.cpp
clang-tools-extra/unittests/clangd/IndexTests.cpp
clang-tools-extra/unittests/clangd/SerializationTests.cpp
clang-tools-extra/unittests/clangd/SymbolCollectorTests.cpp