Speed up findLocation in the absence of .debug_aranges (#1607)
Summary: If we don't find `.debug_aranges`, we used to jump directly to running the line number VM for every single compilation unit (CU). This is obviously not great. Instead, every CU lists one (or multiple) address ranges that make up its `.text`, so do that first. I think (but haven't benchmarked) that this shouldn't be significantly slower than `.debug_aranges` (probably why clang doesn't emit `.debug_aranges` by default) -- both `.debug_aranges` and this approach suffer from the same drawback: they're grouped by CU instead of being sorted by address, so we still need to iterate for all CUs. Pull Request resolved: https://github.com/facebook/folly/pull/1607 Reviewed By: yfeldblum Differential Revision: D29175717 Pulled By: luciang fbshipit-source-id: d626babdbb7f9a2f7dd51aefd914f6659124eb4e
Showing
Please register or sign in to comment