jankratochvil planned changes to this revision.
jankratochvil added a comment.

In D96236#2710376 <https://reviews.llvm.org/D96236#2710376>, @clayborg wrote:

> I would be fine with DWARFDie getting bigger to 24B.

Great, so I can return back to 2019.

> These objects are used temporarily and not used as part of the storage of all 
> of a DWARFUnit's DIEs.

This is what I also found in D73206 <https://reviews.llvm.org/D73206>. There 
was originally a different initial comment:

-----------------------------------------------------------------------------------------------------------------------------

I have found `DWARFDIE` is mostly used only for parameters and autovariables. I 
found (by `grep -r '<.*DWARF\(Base\|\)DIE' lldb`) only two cases of `DWARFDIE` 
in permanent structures:

- `DWARFASTParserClang::m_decl_ctx_to_die` refactored in this patch
- `ElaboratingDIEIterator::m_worklist` but I think it will never grow to any 
more `DWARFDIE`s than a few so it is worse to refactor it to `DIERef` which is 
slower and due to few entries it does not save any memory space.

-----------------------------------------------------------------------------------------------------------------------------

For the `DWARFASTParserClang::m_decl_ctx_to_die` refactoring I will make it a 
standalone patch in a new series.

> DWARFUnit objects store an array of DWARFDebugInfoEntry objects and those are 
> what we care about not getting bigger.

The problem is I still need to increase element size of various indexes, such 
as:

  -  typedef llvm::DenseMap<const DWARFDebugInfoEntry *, clang::Decl *>
  +  typedef llvm::DenseMap<std::pair<DWARFUnit *, const DWARFDebugInfoEntry 
*>, clang::Decl *>
         DIEToDeclMap;

I was thinking I could templatize it so that there are two variants of the code 
and it would switch to the larger + (a bit) slower variant only when it detects 
DWZ file. I understand it is bad to affect LLDB performance by the marginally 
used DWZ feature.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D96236/new/

https://reviews.llvm.org/D96236

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

Reply via email to