[Lldb-commits] [PATCH] D70846: Expression eval lookup speedup by not returning methods in ManualDWARFIndex::GetFunctions

Pavel Labath via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Tue Dec 3 01:37:39 PST 2019


labath added a comment.

In D70846#1766204 <https://reviews.llvm.org/D70846#1766204>, @shafik wrote:

> In D70846#1763731 <https://reviews.llvm.org/D70846#1763731>, @labath wrote:
>
> > There's `lldb-shell :: SymbolFile/DWARF/find-basic-function.cpp`, which probably didn't get run for you as you didn't have lld enabled (cmake -DLLVM_ENABLE_PROJECTS=...;lld). You'll need to update that test to match the new behavior, but other than that, I think this is a good change.
>
>
> So with this change for the `find-basic-function.cpp` test I no longer see any results for the `full` case so we should at least generate a case that has results for the `full` case.


There's an additional check in that test which does a search by a mangled name (search for FULL-MANGLED), and this one does return some result. If this patch lands, I'm not sure if there's any other kind of a "full" lookup that we could perform. `eFunctionNameTypeFull` is documented as: `... For C this is the same as just the name of the function For C++ this is the mangled or demangled version of the mangled name...`, which appears like we should support searching by *de*mangled names. However, I'm not sure if that is actually a good idea. Implementing that for the manual index would be simple enough, but that is something that the apple index could never support (in fact, I think I remember that the manual index once supported searching by demangled names, but then I removed this ability for consistency when adding debug_names support).

That said, I think it may be interesting to add a test searching for an `extern "C"` symbol (which has no "mangled" name), as right now it's not clear if it will show up because of `function_fullnames.Find` or `function_basenames.Find`...


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D70846





More information about the lldb-commits mailing list