LLDB mainline
lldb_private::ThreadPlanStackMap Class Reference

#include <ThreadPlanStack.h>

Public Member Functions

 ThreadPlanStackMap (Process &process)
 ~ThreadPlanStackMap ()=default
void Update (ThreadList &current_threads, bool delete_missing, bool check_for_new=true)
void AddThread (Thread &thread)
bool RemoveTID (lldb::tid_t tid)
ThreadPlanStackFind (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

Processm_process
std::recursive_mutex m_stack_map_mutex
PlansList m_plans_list

Detailed Description

Definition at line 121 of file ThreadPlanStack.h.

Member Typedef Documentation

◆ PlansList

Definition at line 185 of file ThreadPlanStack.h.

Constructor & Destructor Documentation

◆ ThreadPlanStackMap()

lldb_private::ThreadPlanStackMap::ThreadPlanStackMap ( Process & process)
inline

Definition at line 123 of file ThreadPlanStack.h.

References m_process.

◆ ~ThreadPlanStackMap()

lldb_private::ThreadPlanStackMap::~ThreadPlanStackMap ( )
default

Member Function Documentation

◆ AddThread()

void lldb_private::ThreadPlanStackMap::AddThread ( Thread & thread)
inline

Definition at line 130 of file ThreadPlanStack.h.

References m_plans_list, and m_stack_map_mutex.

Referenced by Update().

◆ Clear()

void lldb_private::ThreadPlanStackMap::Clear ( )
inline

Definition at line 164 of file ThreadPlanStack.h.

References m_plans_list, and m_stack_map_mutex.

◆ ClearThreadCache()

void lldb_private::ThreadPlanStackMap::ClearThreadCache ( )
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.

◆ DumpPlans()

void ThreadPlanStackMap::DumpPlans ( Stream & strm,
lldb::DescriptionLevel desc_level,
bool internal,
bool ignore_boring,
bool skip_unreported )

◆ DumpPlansForTID()

◆ Find()

ThreadPlanStack * lldb_private::ThreadPlanStackMap::Find ( lldb::tid_t tid)
inline

Definition at line 146 of file ThreadPlanStack.h.

References m_plans_list, and m_stack_map_mutex.

Referenced by DumpPlansForTID(), and Update().

◆ PrunePlansForTID()

bool ThreadPlanStackMap::PrunePlansForTID ( lldb::tid_t tid)

Definition at line 523 of file ThreadPlanStack.cpp.

References m_process, m_stack_map_mutex, and RemoveTID().

◆ RemoveTID()

bool lldb_private::ThreadPlanStackMap::RemoveTID ( lldb::tid_t tid)
inline

Definition at line 136 of file ThreadPlanStack.h.

References m_plans_list, and m_stack_map_mutex.

Referenced by PrunePlansForTID(), and Update().

◆ Update()

void ThreadPlanStackMap::Update ( ThreadList & current_threads,
bool delete_missing,
bool check_for_new = true )

Member Data Documentation

◆ m_plans_list

PlansList lldb_private::ThreadPlanStackMap::m_plans_list
private

Definition at line 186 of file ThreadPlanStack.h.

Referenced by AddThread(), Clear(), ClearThreadCache(), DumpPlans(), Find(), RemoveTID(), and Update().

◆ m_process

Process& lldb_private::ThreadPlanStackMap::m_process
private

◆ m_stack_map_mutex

std::recursive_mutex lldb_private::ThreadPlanStackMap::m_stack_map_mutex
mutableprivate

The documentation for this class was generated from the following files: