diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2016-02-13 15:01:33 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2016-02-13 15:01:33 +0000 |
commit | 2fc5d2d1dfaf623ce4e24cd8590565902f8c557c (patch) | |
tree | 525149683974afa86747b749d45f0425749e972e /include | |
parent | e195173fdf080138dbb42936dea88c605e4b9a56 (diff) | |
download | src-test2-2fc5d2d1dfaf623ce4e24cd8590565902f8c557c.tar.gz src-test2-2fc5d2d1dfaf623ce4e24cd8590565902f8c557c.zip |
Notes
Diffstat (limited to 'include')
-rw-r--r-- | include/lldb/API/SBInstruction.h | 3 | ||||
-rw-r--r-- | include/lldb/Core/RangeMap.h | 19 | ||||
-rw-r--r-- | include/lldb/Symbol/Symtab.h | 1 |
3 files changed, 23 insertions, 0 deletions
diff --git a/include/lldb/API/SBInstruction.h b/include/lldb/API/SBInstruction.h index c4bded595761..2bacc2b97746 100644 --- a/include/lldb/API/SBInstruction.h +++ b/include/lldb/API/SBInstruction.h @@ -60,6 +60,9 @@ public: bool DoesBranch (); + bool + HasDelaySlot (); + void Print (FILE *out); diff --git a/include/lldb/Core/RangeMap.h b/include/lldb/Core/RangeMap.h index b2e3f06f08a9..28d3083979d6 100644 --- a/include/lldb/Core/RangeMap.h +++ b/include/lldb/Core/RangeMap.h @@ -1216,6 +1216,25 @@ namespace lldb_private { } return UINT32_MAX; } + + uint32_t + FindEntryIndexesThatContain(B addr, std::vector<uint32_t> &indexes) const + { +#ifdef ASSERT_RANGEMAP_ARE_SORTED + assert (IsSorted()); +#endif + + if (!m_entries.empty()) + { + typename Collection::const_iterator pos; + for (const auto &entry : m_entries) + { + if (entry.Contains(addr)) + indexes.push_back(entry.data); + } + } + return indexes.size() ; + } Entry * FindEntryThatContains (B addr) diff --git a/include/lldb/Symbol/Symtab.h b/include/lldb/Symbol/Symtab.h index cf28c7e87ac5..130f02c0e68b 100644 --- a/include/lldb/Symbol/Symtab.h +++ b/include/lldb/Symbol/Symtab.h @@ -81,6 +81,7 @@ public: Symbol * FindFirstSymbolWithNameAndType (const ConstString &name, lldb::SymbolType symbol_type, Debug symbol_debug_type, Visibility symbol_visibility); Symbol * FindSymbolContainingFileAddress (lldb::addr_t file_addr, const uint32_t* indexes, uint32_t num_indexes); Symbol * FindSymbolContainingFileAddress (lldb::addr_t file_addr); + void ForEachSymbolContainingFileAddress(lldb::addr_t file_addr, std::function<bool(Symbol *)> const &callback); size_t FindFunctionSymbols (const ConstString &name, uint32_t name_type_mask, SymbolContextList& sc_list); void CalculateSymbolSizes (); |