LLDB mainline
|
#include <ThreadPlanStack.h>
Public Member Functions | |
ThreadPlanStackMap (Process &process) | |
~ThreadPlanStackMap ()=default | |
void | Update (ThreadList ¤t_threads, bool delete_missing, bool check_for_new=true) |
void | AddThread (Thread &thread) |
bool | RemoveTID (lldb::tid_t tid) |
ThreadPlanStack * | Find (lldb::tid_t tid) |
void | ClearThreadCache () |
Clear the Thread* cache that each ThreadPlan contains. | |
void | Clear () |
void | DumpPlans (Stream &strm, lldb::DescriptionLevel desc_level, bool internal, bool ignore_boring, bool skip_unreported) |
bool | DumpPlansForTID (Stream &strm, lldb::tid_t tid, lldb::DescriptionLevel desc_level, bool internal, bool ignore_boring, bool skip_unreported) |
bool | PrunePlansForTID (lldb::tid_t tid) |
Private Types | |
using | PlansList = std::unordered_map< lldb::tid_t, ThreadPlanStack > |
Private Attributes | |
Process & | m_process |
std::recursive_mutex | m_stack_map_mutex |
PlansList | m_plans_list |
Definition at line 121 of file ThreadPlanStack.h.
|
private |
Definition at line 185 of file ThreadPlanStack.h.
|
inline |
Definition at line 123 of file ThreadPlanStack.h.
|
default |
|
inline |
Definition at line 130 of file ThreadPlanStack.h.
References lldb_private::UserID::GetID(), m_plans_list, and m_stack_map_mutex.
Referenced by Update().
|
inline |
Definition at line 164 of file ThreadPlanStack.h.
References m_plans_list, and m_stack_map_mutex.
Referenced by lldb_private::Process::Finalize().
|
inline |
Clear the Thread* cache that each ThreadPlan contains.
This is useful in situations like when a new Thread list is being generated.
Definition at line 159 of file ThreadPlanStack.h.
References m_plans_list.
Referenced by lldb_private::ScriptedProcess::DoUpdateThreadList(), and lldb_private::Process::UpdateThreadList().
void ThreadPlanStackMap::DumpPlans | ( | Stream & | strm, |
lldb::DescriptionLevel | desc_level, | ||
bool | internal, | ||
bool | ignore_boring, | ||
bool | skip_unreported | ||
) |
Definition at line 444 of file ThreadPlanStack.cpp.
References lldb_private::ThreadList::FindThreadByID(), lldb_private::Process::GetThreadList(), lldb_private::Stream::Indent(), lldb_private::Stream::IndentLess(), lldb_private::Stream::IndentMore(), m_plans_list, m_process, m_stack_map_mutex, and lldb_private::Stream::Printf().
Referenced by lldb_private::Process::DumpThreadPlans().
bool ThreadPlanStackMap::DumpPlansForTID | ( | Stream & | strm, |
lldb::tid_t | tid, | ||
lldb::DescriptionLevel | desc_level, | ||
bool | internal, | ||
bool | ignore_boring, | ||
bool | skip_unreported | ||
) |
Definition at line 480 of file ThreadPlanStack.cpp.
References lldb_private::ThreadPlanStack::AnyCompletedPlans(), lldb_private::ThreadPlanStack::AnyDiscardedPlans(), lldb_private::ThreadPlanStack::AnyPlans(), lldb_private::ThreadPlanStack::DumpThreadPlans(), Find(), lldb_private::ThreadList::FindThreadByID(), lldb_private::Stream::Format(), lldb_private::Process::GetThreadList(), lldb_private::Stream::Indent(), lldb_private::Stream::IndentLess(), lldb_private::Stream::IndentMore(), m_process, m_stack_map_mutex, and lldb_private::Stream::Printf().
Referenced by lldb_private::Process::DumpThreadPlansForTID().
|
inline |
Definition at line 146 of file ThreadPlanStack.h.
References m_plans_list, and m_stack_map_mutex.
Referenced by DumpPlansForTID(), lldb_private::Process::FindThreadPlans(), and Update().
bool ThreadPlanStackMap::PrunePlansForTID | ( | lldb::tid_t | tid | ) |
Definition at line 523 of file ThreadPlanStack.cpp.
References lldb_private::ThreadList::FindThreadByID(), lldb_private::Process::GetThreadList(), m_process, m_stack_map_mutex, and RemoveTID().
Referenced by lldb_private::Process::PruneThreadPlansForTID().
|
inline |
Definition at line 136 of file ThreadPlanStack.h.
References m_plans_list, and m_stack_map_mutex.
Referenced by PrunePlansForTID(), and Update().
void ThreadPlanStackMap::Update | ( | ThreadList & | current_threads, |
bool | delete_missing, | ||
bool | check_for_new = true |
||
) |
Definition at line 409 of file ThreadPlanStack.cpp.
References AddThread(), Find(), lldb_private::ThreadList::FindThreadByID(), m_plans_list, m_stack_map_mutex, RemoveTID(), and lldb_private::ThreadCollection::Threads().
Referenced by lldb_private::Process::PruneThreadPlans(), and lldb_private::Process::UpdateThreadListIfNeeded().
|
private |
Definition at line 186 of file ThreadPlanStack.h.
Referenced by AddThread(), Clear(), ClearThreadCache(), DumpPlans(), Find(), RemoveTID(), and Update().
|
private |
Definition at line 183 of file ThreadPlanStack.h.
Referenced by DumpPlans(), DumpPlansForTID(), and PrunePlansForTID().
|
mutableprivate |
Definition at line 184 of file ThreadPlanStack.h.
Referenced by AddThread(), Clear(), DumpPlans(), DumpPlansForTID(), Find(), PrunePlansForTID(), RemoveTID(), and Update().