aprantl added a comment.

> could you provide some examples (just in comments/description in this code 
> review) of what the DWARF used to look like and what it looks like after this 
> change?

Thus far an Objective-C interface is a DW_TAG_structure_type that only has 
variables and properties as members. Objective-C methods are emitted as 
freestanding DW_TAG_subprogram function definitions. In addition, the 
.apple_objc accelerator table provides a mapping from ClassName -> [list of 
subprogram DIEs for each method in Class or one of its categories].

The idea behind this patch is to get rid of the accelerator table and encode 
the same information in the DIE hierarchy instead. LLDB was never using the 
accelerator table to accelerate lookup but only when it was in the middle of 
parsing a DW_TAG_structure_type of an Objective-C interface, so this shouldn't 
even come add a performance penalty.


https://reviews.llvm.org/D48241



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

Reply via email to