labath marked an inline comment as done.
labath added inline comments.

================
Comment at: source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp:243-251
+    // With -fsplit-dwarf-inlining, clang will emit non-empty skeleton compile
+    // units. We are not able to access these DIE *and* the dwo file
+    // simultaneously. We also don't need to do that as the dwo file will
+    // contain a superset of information. So, we just delete these extra DIEs
+    // (if any) and reclaim some space.
+    m_die_array.resize(1);
+    m_die_array.shrink_to_fit();
----------------
clayborg wrote:
> clayborg wrote:
> > Can we detect and just not parse in the first place so we don't parse then 
> > throw away?
> Also, what if we have one DWO file that isn't there where we don't delete 
> these DIEs, followed by one that is. Won't we run into lldb::user_id_t 
> collisions in this case? Should we just never parse DWO DIEs other than the 
> first one to avoid this?
I've changed the parsing logic to bail out earlier.

There won't be any UID collisions if only some of the dwo files are missing, 
because we will, for all intents and purposes, treat a compile with a missing 
dwo file the same way as a regular (non-dwo) compile unit. And we already 
support mixing dwo and non-dwo compile units in a single file.


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

https://reviews.llvm.org/D62852



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

Reply via email to