summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lldb/include/lldb/Core/ThreadSafeDenseMap.h22
-rw-r--r--lldb/include/lldb/Core/ThreadSafeDenseSet.h7
2 files changed, 28 insertions, 1 deletions
diff --git a/lldb/include/lldb/Core/ThreadSafeDenseMap.h b/lldb/include/lldb/Core/ThreadSafeDenseMap.h
index f5a7ccfb2ff..6b2b59b7617 100644
--- a/lldb/include/lldb/Core/ThreadSafeDenseMap.h
+++ b/lldb/include/lldb/Core/ThreadSafeDenseMap.h
@@ -54,7 +54,27 @@ public:
Mutex::Locker locker(m_mutex);
return m_map.lookup(k);
}
-
+
+ bool
+ Lookup (_KeyType k,
+ _ValueType& v)
+ {
+ Mutex::Locker locker(m_mutex);
+ auto iter = m_map.find(k),
+ end = m_map.end();
+ if (iter == end)
+ return false;
+ v = iter->second;
+ return true;
+ }
+
+ void
+ Clear ()
+ {
+ Mutex::Locker locker(m_mutex);
+ m_map.clear();
+ }
+
protected:
LLVMMapType m_map;
Mutex m_mutex;
diff --git a/lldb/include/lldb/Core/ThreadSafeDenseSet.h b/lldb/include/lldb/Core/ThreadSafeDenseSet.h
index 19c67b65e8c..e019c70ed5e 100644
--- a/lldb/include/lldb/Core/ThreadSafeDenseSet.h
+++ b/lldb/include/lldb/Core/ThreadSafeDenseSet.h
@@ -55,6 +55,13 @@ namespace lldb_private {
return (m_set.count(e) > 0);
}
+ void
+ Clear ()
+ {
+ Mutex::Locker locker(m_mutex);
+ m_set.clear();
+ }
+
protected:
LLVMSetType m_set;
Mutex m_mutex;
OpenPOWER on IntegriCloud