summaryrefslogtreecommitdiffstats
path: root/source/Plugins/Process/gdb-remote/ThreadGDBRemote.h
diff options
context:
space:
mode:
Diffstat (limited to 'source/Plugins/Process/gdb-remote/ThreadGDBRemote.h')
-rw-r--r--source/Plugins/Process/gdb-remote/ThreadGDBRemote.h74
1 files changed, 46 insertions, 28 deletions
diff --git a/source/Plugins/Process/gdb-remote/ThreadGDBRemote.h b/source/Plugins/Process/gdb-remote/ThreadGDBRemote.h
index a204a91..175433a 100644
--- a/source/Plugins/Process/gdb-remote/ThreadGDBRemote.h
+++ b/source/Plugins/Process/gdb-remote/ThreadGDBRemote.h
@@ -17,45 +17,49 @@
#include "lldb/Target/Thread.h"
class StringExtractor;
+
+namespace lldb_private {
+namespace process_gdb_remote {
+
class ProcessGDBRemote;
-class ThreadGDBRemote : public lldb_private::Thread
+class ThreadGDBRemote : public Thread
{
public:
- ThreadGDBRemote (lldb_private::Process &process, lldb::tid_t tid);
+ ThreadGDBRemote (Process &process, lldb::tid_t tid);
virtual
~ThreadGDBRemote ();
- virtual void
- WillResume (lldb::StateType resume_state);
+ void
+ WillResume (lldb::StateType resume_state) override;
- virtual void
- RefreshStateAfterStop();
+ void
+ RefreshStateAfterStop() override;
- virtual const char *
- GetName ();
+ const char *
+ GetName () override;
- virtual const char *
- GetQueueName ();
+ const char *
+ GetQueueName () override;
- virtual lldb::queue_id_t
- GetQueueID ();
+ lldb::queue_id_t
+ GetQueueID () override;
- virtual lldb::QueueSP
- GetQueue ();
+ lldb::QueueSP
+ GetQueue () override;
lldb::addr_t
- GetQueueLibdispatchQueueAddress ();
+ GetQueueLibdispatchQueueAddress () override;
- virtual lldb::RegisterContextSP
- GetRegisterContext ();
+ lldb::RegisterContextSP
+ GetRegisterContext () override;
- virtual lldb::RegisterContextSP
- CreateRegisterContextForFrame (lldb_private::StackFrame *frame);
+ lldb::RegisterContextSP
+ CreateRegisterContextForFrame (StackFrame *frame) override;
void
- Dump (lldb_private::Log *log, uint32_t index);
+ Dump (Log *log, uint32_t index);
static bool
ThreadIDIsValid (lldb::tid_t thread);
@@ -67,7 +71,7 @@ public:
GetBasicInfoAsString ();
void
- SetName (const char *name)
+ SetName (const char *name) override
{
if (name && name[0])
m_thread_name.assign (name);
@@ -87,8 +91,14 @@ public:
m_thread_dispatch_qaddr = thread_dispatch_qaddr;
}
- lldb_private::StructuredData::ObjectSP
- FetchThreadExtendedInfo ();
+ void
+ ClearQueueInfo ();
+
+ void
+ SetQueueInfo (std::string &&queue_name, lldb::QueueKind queue_kind, uint64_t queue_serial);
+
+ StructuredData::ObjectSP
+ FetchThreadExtendedInfo () override;
protected:
@@ -97,13 +107,20 @@ protected:
bool
PrivateSetRegisterValue (uint32_t reg,
StringExtractor &response);
-
+
+ bool
+ CachedQueueInfoIsValid() const
+ {
+ return m_queue_kind != lldb::eQueueKindUnknown;
+ }
//------------------------------------------------------------------
// Member variables.
//------------------------------------------------------------------
std::string m_thread_name;
std::string m_dispatch_queue_name;
lldb::addr_t m_thread_dispatch_qaddr;
+ lldb::QueueKind m_queue_kind; // Queue info from stop reply/stop info for thread
+ uint64_t m_queue_serial; // Queue info from stop reply/stop info for thread
//------------------------------------------------------------------
// Member variables.
//------------------------------------------------------------------
@@ -111,10 +128,11 @@ protected:
void
SetStopInfoFromPacket (StringExtractor &stop_packet, uint32_t stop_id);
- virtual bool
- CalculateStopInfo ();
-
-
+ bool
+ CalculateStopInfo () override;
};
+} // namespace process_gdb_remote
+} // namespace lldb_private
+
#endif // liblldb_ThreadGDBRemote_h_
OpenPOWER on IntegriCloud