rnk added inline comments.

================
Comment at: lldb/source/Plugins/SymbolFile/NativePDB/PdbUtil.cpp:843-846
+    std::map<uint64_t, size_t> offset_to_size;
+    // Get the size of each fields if it's udt.
+    if (!FindMembersSize::GetMemberSizesForUdt(result.type, index.tpi(), 0,
+                                               offset_to_size))
----------------
I'm a bit worried about performance. This code runs for every `S_LOCAL` record. 
So, every time we encounter a `std::string` local variable, we walk over the 
entire string class hierarchy field list to compute this map, which we may or 
may not need later.

This code is pretty thorough, but can we reduce the scope of this patch by 
ignoring subfield records stored in memory, since they lack size information? I 
think that would make it easier to review and test. Just focus on variables in 
registers, and subfields in registers, since those are easiest to test and 
understand.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D130796

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

Reply via email to