diff options
Diffstat (limited to 'lldb/source/Target/QueueItem.cpp')
-rw-r--r-- | lldb/source/Target/QueueItem.cpp | 175 |
1 files changed, 63 insertions, 112 deletions
diff --git a/lldb/source/Target/QueueItem.cpp b/lldb/source/Target/QueueItem.cpp index 002187b8d20..fe58980c01c 100644 --- a/lldb/source/Target/QueueItem.cpp +++ b/lldb/source/Target/QueueItem.cpp @@ -15,142 +15,93 @@ using namespace lldb; using namespace lldb_private; -QueueItem::QueueItem (QueueSP queue_sp, ProcessSP process_sp, lldb::addr_t item_ref, lldb_private::Address address) : - m_queue_wp (), - m_process_wp (), - m_item_ref (item_ref), - m_address (address), - m_have_fetched_entire_item (false), - m_kind (eQueueItemKindUnknown), - m_item_that_enqueued_this_ref (LLDB_INVALID_ADDRESS), - m_enqueueing_thread_id (LLDB_INVALID_THREAD_ID), - m_enqueueing_queue_id (LLDB_INVALID_QUEUE_ID), - m_target_queue_id (LLDB_INVALID_QUEUE_ID), - m_stop_id (0), - m_backtrace(), - m_thread_label(), - m_queue_label(), - m_target_queue_label() -{ - m_queue_wp = queue_sp; - m_process_wp = process_sp; +QueueItem::QueueItem(QueueSP queue_sp, ProcessSP process_sp, + lldb::addr_t item_ref, lldb_private::Address address) + : m_queue_wp(), m_process_wp(), m_item_ref(item_ref), m_address(address), + m_have_fetched_entire_item(false), m_kind(eQueueItemKindUnknown), + m_item_that_enqueued_this_ref(LLDB_INVALID_ADDRESS), + m_enqueueing_thread_id(LLDB_INVALID_THREAD_ID), + m_enqueueing_queue_id(LLDB_INVALID_QUEUE_ID), + m_target_queue_id(LLDB_INVALID_QUEUE_ID), m_stop_id(0), m_backtrace(), + m_thread_label(), m_queue_label(), m_target_queue_label() { + m_queue_wp = queue_sp; + m_process_wp = process_sp; } -QueueItem::~QueueItem () -{ -} +QueueItem::~QueueItem() {} -QueueItemKind -QueueItem::GetKind() -{ - FetchEntireItem (); - return m_kind; +QueueItemKind QueueItem::GetKind() { + FetchEntireItem(); + return m_kind; } -void -QueueItem::SetKind (QueueItemKind item_kind) -{ - m_kind = item_kind; -} +void QueueItem::SetKind(QueueItemKind item_kind) { m_kind = item_kind; } -Address & -QueueItem::GetAddress () -{ - return m_address; -} +Address &QueueItem::GetAddress() { return m_address; } -void -QueueItem::SetAddress (Address addr) -{ - m_address = addr; -} +void QueueItem::SetAddress(Address addr) { m_address = addr; } -ThreadSP -QueueItem::GetExtendedBacktraceThread (ConstString type) -{ - FetchEntireItem (); - ThreadSP return_thread; - QueueSP queue_sp = m_queue_wp.lock(); - if (queue_sp) - { - ProcessSP process_sp = queue_sp->GetProcess(); - if (process_sp && process_sp->GetSystemRuntime()) - { - return_thread = process_sp->GetSystemRuntime()->GetExtendedBacktraceForQueueItem (this->shared_from_this(), type); - } +ThreadSP QueueItem::GetExtendedBacktraceThread(ConstString type) { + FetchEntireItem(); + ThreadSP return_thread; + QueueSP queue_sp = m_queue_wp.lock(); + if (queue_sp) { + ProcessSP process_sp = queue_sp->GetProcess(); + if (process_sp && process_sp->GetSystemRuntime()) { + return_thread = + process_sp->GetSystemRuntime()->GetExtendedBacktraceForQueueItem( + this->shared_from_this(), type); } - return return_thread; + } + return return_thread; } -lldb::addr_t -QueueItem::GetItemThatEnqueuedThis () -{ - FetchEntireItem (); - return m_item_that_enqueued_this_ref; +lldb::addr_t QueueItem::GetItemThatEnqueuedThis() { + FetchEntireItem(); + return m_item_that_enqueued_this_ref; } -lldb::tid_t -QueueItem::GetEnqueueingThreadID () -{ - FetchEntireItem (); - return m_enqueueing_thread_id; +lldb::tid_t QueueItem::GetEnqueueingThreadID() { + FetchEntireItem(); + return m_enqueueing_thread_id; } -lldb::queue_id_t -QueueItem::GetEnqueueingQueueID () -{ - FetchEntireItem (); - return m_enqueueing_queue_id; -} - -uint32_t -QueueItem::GetStopID () -{ - FetchEntireItem (); - return m_stop_id; +lldb::queue_id_t QueueItem::GetEnqueueingQueueID() { + FetchEntireItem(); + return m_enqueueing_queue_id; } -std::vector<lldb::addr_t> & -QueueItem::GetEnqueueingBacktrace () -{ - FetchEntireItem (); - return m_backtrace; +uint32_t QueueItem::GetStopID() { + FetchEntireItem(); + return m_stop_id; } -std::string -QueueItem::GetThreadLabel () -{ - FetchEntireItem (); - return m_thread_label; +std::vector<lldb::addr_t> &QueueItem::GetEnqueueingBacktrace() { + FetchEntireItem(); + return m_backtrace; } -std::string -QueueItem::GetQueueLabel () -{ - FetchEntireItem (); - return m_queue_label; +std::string QueueItem::GetThreadLabel() { + FetchEntireItem(); + return m_thread_label; } - -ProcessSP -QueueItem::GetProcessSP() -{ - return m_process_wp.lock (); +std::string QueueItem::GetQueueLabel() { + FetchEntireItem(); + return m_queue_label; } -void -QueueItem::FetchEntireItem() -{ - if (m_have_fetched_entire_item == true) - return; - ProcessSP process_sp = m_process_wp.lock(); - if (process_sp) - { - SystemRuntime *runtime = process_sp->GetSystemRuntime(); - if (runtime) - { - runtime->CompleteQueueItem (this, m_item_ref); - m_have_fetched_entire_item = true; - } +ProcessSP QueueItem::GetProcessSP() { return m_process_wp.lock(); } + +void QueueItem::FetchEntireItem() { + if (m_have_fetched_entire_item == true) + return; + ProcessSP process_sp = m_process_wp.lock(); + if (process_sp) { + SystemRuntime *runtime = process_sp->GetSystemRuntime(); + if (runtime) { + runtime->CompleteQueueItem(this, m_item_ref); + m_have_fetched_entire_item = true; } + } } |