aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2016-02-13 15:01:33 +0000
committerDimitry Andric <dim@FreeBSD.org>2016-02-13 15:01:33 +0000
commit2fc5d2d1dfaf623ce4e24cd8590565902f8c557c (patch)
tree525149683974afa86747b749d45f0425749e972e /include
parente195173fdf080138dbb42936dea88c605e4b9a56 (diff)
downloadsrc-2fc5d2d1dfaf623ce4e24cd8590565902f8c557c.tar.gz
src-2fc5d2d1dfaf623ce4e24cd8590565902f8c557c.zip
Vendor import of lldb release_38 branch r260756:vendor/lldb/lldb-release_380-r262564vendor/lldb/lldb-release_38-r260756
Notes
Notes: svn path=/vendor/lldb/dist/; revision=295598 svn path=/vendor/lldb/lldb-release_380-r262564/; revision=296366; tag=vendor/lldb/lldb-release_380-r262564
Diffstat (limited to 'include')
-rw-r--r--include/lldb/API/SBInstruction.h3
-rw-r--r--include/lldb/Core/RangeMap.h19
-rw-r--r--include/lldb/Symbol/Symtab.h1
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 ();