[all-commits] [llvm/llvm-project] 9c9119: [clangd] Extend SymbolOrigin, stop serializing it

Sam McCall via All-commits all-commits at lists.llvm.org
Wed Jan 12 23:29:04 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 9c9119ab364b0179af4a96a764f806d51878b37f
      https://github.com/llvm/llvm-project/commit/9c9119ab364b0179af4a96a764f806d51878b37f
  Author: Sam McCall <sam.mccall at gmail.com>
  Date:   2022-01-13 (Thu, 13 Jan 2022)

  Changed paths:
    M clang-tools-extra/clangd/index/BackgroundIndexStorage.cpp
    M clang-tools-extra/clangd/index/FileIndex.cpp
    M clang-tools-extra/clangd/index/Serialization.cpp
    M clang-tools-extra/clangd/index/Serialization.h
    M clang-tools-extra/clangd/index/SymbolOrigin.cpp
    M clang-tools-extra/clangd/index/SymbolOrigin.h
    M clang-tools-extra/clangd/index/YAMLSerialization.cpp
    M clang-tools-extra/clangd/index/dex/dexp/Dexp.cpp
    M clang-tools-extra/clangd/index/remote/Index.proto
    M clang-tools-extra/clangd/index/remote/marshalling/Marshalling.cpp
    M clang-tools-extra/clangd/index/remote/server/Server.cpp
    M clang-tools-extra/clangd/test/index-serialization/Inputs/sample.idx
    M clang-tools-extra/clangd/tool/ClangdMain.cpp
    M clang-tools-extra/clangd/unittests/BackgroundIndexTests.cpp
    M clang-tools-extra/clangd/unittests/IndexTests.cpp
    M clang-tools-extra/clangd/unittests/SerializationTests.cpp

  Log Message:
  -----------
  [clangd] Extend SymbolOrigin, stop serializing it

New values:
- Split Dynamic into Open/Preamble
- Add Background (previously was just Unknown)
- Soon: stdlib index

This requires extending to 16 bits, which fits within the padding of Symbol.
Unfortunately we're also *serializing* SymbolOrigin as a fixed 8 bits.

Stop serializing SymbolOrigin:
- conceptually, the source is whoever indexes or *deserializes* a symbol
- deserialization takes SymbolOrigin as a parameter and stamps it on each sym
- this is a breaking format change

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




More information about the All-commits mailing list