[PATCH] D58880: [WIP] [Looking for API feedback] [clangd] Type hierarchy subtypes
Nathan Ridge via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue Mar 5 11:13:35 PST 2019
nridge added a comment.
In D58880#1418195 <https://reviews.llvm.org/D58880#1418195>, @hokein wrote:
> I think we can extend the existing Ref to support it, so that most of the stuff could be reused, rather than implementing a new slab:
>
> - introduce a new RefKind, like BaseOf
> - add a new field SymbolID in Ref
I had considered this approach as well, but figured that it would be wasteful in terms of storage space.
My understanding is that the storage space taken up for Refs is currently 8 bytes per Ref (4 each for the start and end positions), plus filename strings which are deduplicated across all refs. If we add a SymbolID, that adds an additional 8 bytes to each Ref. Given that Refs are numerous, and most of them won't use the SymbolID, that seems wasteful.
That said, I do appreciate that this is a simpler approach in terms of complexity, so if folks feel the right tradeoff is to take the Refs approach, I am open to doing that.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D58880/new/
https://reviews.llvm.org/D58880
More information about the cfe-commits
mailing list