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



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

Reply via email to