LLDB mainline
Public Member Functions | Private Types | Private Attributes | List of all members
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 116 of file ThreadPlanStack.h.

Member Typedef Documentation

◆ PlansList

Definition at line 180 of file ThreadPlanStack.h.

Constructor & Destructor Documentation

◆ ThreadPlanStackMap()

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

Definition at line 118 of file ThreadPlanStack.h.

◆ ~ThreadPlanStackMap()

lldb_private::ThreadPlanStackMap::~ThreadPlanStackMap ( )
default

Member Function Documentation

◆ AddThread()

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

Definition at line 125 of file ThreadPlanStack.h.

References lldb_private::UserID::GetID(), m_plans_list, and m_stack_map_mutex.

Referenced by Update().

◆ Clear()

void lldb_private::ThreadPlanStackMap::Clear ( )
inline

Definition at line 159 of file ThreadPlanStack.h.

References m_plans_list, and m_stack_map_mutex.

Referenced by lldb_private::Process::Finalize().

◆ 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 154 of file ThreadPlanStack.h.

References m_plans_list.

Referenced by lldb_private::ScriptedProcess::DoUpdateThreadList(), and lldb_private::Process::UpdateThreadList().

◆ DumpPlans()

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

◆ DumpPlansForTID()

bool ThreadPlanStackMap::DumpPlansForTID ( Stream strm,
lldb::tid_t  tid,
lldb::DescriptionLevel  desc_level,
bool  internal,
bool  ignore_boring,
bool  skip_unreported 
)

◆ Find()

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

◆ PrunePlansForTID()

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

◆ RemoveTID()

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

Definition at line 131 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 181 of file ThreadPlanStack.h.

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

◆ m_process

Process& lldb_private::ThreadPlanStackMap::m_process
private

Definition at line 178 of file ThreadPlanStack.h.

Referenced by DumpPlans(), DumpPlansForTID(), and PrunePlansForTID().

◆ 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: