[lldb-dev] Resolving dynamic type based on RTTI fails in case of type names inequality in DWARF and mangled symbols

Pavel Labath via lldb-dev lldb-dev at lists.llvm.org
Fri Dec 22 02:36:21 PST 2017


On 21 December 2017 at 16:22, Greg Clayton <clayborg at gmail.com> wrote:
>
>
> The main idea is to touch as few pages as possible when doing searches. We
> effectively have this scenario right now with Apple DWARF in .o file
> debugging. So much time is spent paging in each accelerator table that we
> have very long delays starting up large apps. This would be more localized,
> but there would be a similar issue. Concatenation would be fine for now if
> we make it work, but for long term archival, the real solution is to merge
> the tables.

I think we should get better performance from concatenated tables than
from the .o file search on darwin -- the proximity (on disk and
in-memory) should make the os read-ahead work much better than when
the individual tables are scattered in various throughout the disk.

If we're talking about the scenario of archiving debug info on
buildservers or whereever, then something like dsymutil definitely
makes sense. The scenario I am optimizing for though is the
edit-compile-debug cycle of binaries built on your local machine.
There it doesn't matter much whether the indexing is done in the
debugger or the compiler, it just needs to be done quickly.

> We could save this information to disk. I would suggest our Apple Accelerator table format! hahaha.

Yes, that would certainly make sense. :)


More information about the lldb-dev mailing list