Index: lldb/trunk/source/Plugins/InstrumentationRuntime/MainThreadChecker/MainThreadCheckerRuntime.cpp =================================================================== --- lldb/trunk/source/Plugins/InstrumentationRuntime/MainThreadChecker/MainThreadCheckerRuntime.cpp +++ lldb/trunk/source/Plugins/InstrumentationRuntime/MainThreadChecker/MainThreadCheckerRuntime.cpp @@ -261,11 +261,8 @@ StructuredData::ObjectSP thread_id_obj = info->GetObjectForDotSeparatedPath("tid"); tid_t tid = thread_id_obj ? thread_id_obj->GetIntegerValue() : 0; - - uint32_t stop_id = 0; - bool stop_id_is_valid = false; - HistoryThread *history_thread = - new HistoryThread(*process_sp, tid, PCs, stop_id, stop_id_is_valid); + + HistoryThread *history_thread = new HistoryThread(*process_sp, tid, PCs); ThreadSP new_thread_sp(history_thread); // Save this in the Process' ExtendedThreadList so a strong pointer retains Index: lldb/trunk/source/Plugins/InstrumentationRuntime/TSan/TSanRuntime.cpp =================================================================== --- lldb/trunk/source/Plugins/InstrumentationRuntime/TSan/TSanRuntime.cpp +++ lldb/trunk/source/Plugins/InstrumentationRuntime/TSan/TSanRuntime.cpp @@ -1030,10 +1030,8 @@ o->GetObjectForDotSeparatedPath("thread_os_id"); tid_t tid = thread_id_obj ? thread_id_obj->GetIntegerValue() : 0; - uint32_t stop_id = 0; - bool stop_id_is_valid = false; HistoryThread *history_thread = - new HistoryThread(*process_sp, tid, pcs, stop_id, stop_id_is_valid); + new HistoryThread(*process_sp, tid, pcs); ThreadSP new_thread_sp(history_thread); new_thread_sp->SetName(GenerateThreadName(path, o, info).c_str()); Index: lldb/trunk/source/Plugins/InstrumentationRuntime/UBSan/UBSanRuntime.cpp =================================================================== --- lldb/trunk/source/Plugins/InstrumentationRuntime/UBSan/UBSanRuntime.cpp +++ lldb/trunk/source/Plugins/InstrumentationRuntime/UBSan/UBSanRuntime.cpp @@ -327,10 +327,7 @@ info->GetObjectForDotSeparatedPath("tid"); tid_t tid = thread_id_obj ? thread_id_obj->GetIntegerValue() : 0; - uint32_t stop_id = 0; - bool stop_id_is_valid = false; - HistoryThread *history_thread = - new HistoryThread(*process_sp, tid, PCs, stop_id, stop_id_is_valid); + HistoryThread *history_thread = new HistoryThread(*process_sp, tid, PCs); ThreadSP new_thread_sp(history_thread); std::string stop_reason_description = GetStopReasonDescription(info); new_thread_sp->SetName(stop_reason_description.c_str()); Index: lldb/trunk/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntime.cpp =================================================================== --- lldb/trunk/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntime.cpp +++ lldb/trunk/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntime.cpp @@ -552,7 +552,7 @@ if (pcs.empty()) return ThreadSP(); - ThreadSP new_thread_sp(new HistoryThread(*m_process, 0, pcs, 0, false)); + ThreadSP new_thread_sp(new HistoryThread(*m_process, 0, pcs)); m_process->GetExtendedThreadList().AddThread(new_thread_sp); return new_thread_sp; } Index: lldb/trunk/source/Plugins/MemoryHistory/asan/MemoryHistoryASan.cpp =================================================================== --- lldb/trunk/source/Plugins/MemoryHistory/asan/MemoryHistoryASan.cpp +++ lldb/trunk/source/Plugins/MemoryHistory/asan/MemoryHistoryASan.cpp @@ -136,8 +136,7 @@ pcs.push_back(pc); } - HistoryThread *history_thread = - new HistoryThread(*process_sp, tid, pcs, 0, false); + HistoryThread *history_thread = new HistoryThread(*process_sp, tid, pcs); ThreadSP new_thread_sp(history_thread); std::ostringstream thread_name_with_number; thread_name_with_number << thread_name << " Thread " << tid; Index: lldb/trunk/source/Plugins/Process/Utility/HistoryThread.h =================================================================== --- lldb/trunk/source/Plugins/Process/Utility/HistoryThread.h +++ lldb/trunk/source/Plugins/Process/Utility/HistoryThread.h @@ -27,15 +27,13 @@ /// process execution /// /// This subclass of Thread is used to provide a backtrace from earlier in -/// process execution. It is given a backtrace list of pc addresses and -/// optionally a stop_id of when those pc addresses were collected, and it +/// process execution. It is given a backtrace list of pc addresses and it /// will create stack frames for them. class HistoryThread : public lldb_private::Thread { public: HistoryThread(lldb_private::Process &process, lldb::tid_t tid, - std::vector pcs, uint32_t stop_id, - bool stop_id_is_valid); + std::vector pcs); ~HistoryThread() override; @@ -80,8 +78,6 @@ mutable std::mutex m_framelist_mutex; lldb::StackFrameListSP m_framelist; std::vector m_pcs; - uint32_t m_stop_id; - bool m_stop_id_is_valid; uint64_t m_extended_unwind_token; std::string m_queue_name; Index: lldb/trunk/source/Plugins/Process/Utility/HistoryThread.cpp =================================================================== --- lldb/trunk/source/Plugins/Process/Utility/HistoryThread.cpp +++ lldb/trunk/source/Plugins/Process/Utility/HistoryThread.cpp @@ -25,14 +25,12 @@ // Constructor HistoryThread::HistoryThread(lldb_private::Process &process, lldb::tid_t tid, - std::vector pcs, uint32_t stop_id, - bool stop_id_is_valid) + std::vector pcs) : Thread(process, tid, true), m_framelist_mutex(), m_framelist(), - m_pcs(pcs), m_stop_id(stop_id), m_stop_id_is_valid(stop_id_is_valid), - m_extended_unwind_token(LLDB_INVALID_ADDRESS), m_queue_name(), + m_pcs(pcs), m_extended_unwind_token(LLDB_INVALID_ADDRESS), m_queue_name(), m_thread_name(), m_originating_unique_thread_id(tid), m_queue_id(LLDB_INVALID_QUEUE_ID) { - m_unwinder_up.reset(new HistoryUnwind(*this, pcs, stop_id_is_valid)); + m_unwinder_up.reset(new HistoryUnwind(*this, pcs)); Log *log(lldb_private::GetLogIfAllCategoriesSet(LIBLLDB_LOG_OBJECT)); if (log) log->Printf("%p HistoryThread::HistoryThread", static_cast(this)); Index: lldb/trunk/source/Plugins/Process/Utility/HistoryUnwind.h =================================================================== --- lldb/trunk/source/Plugins/Process/Utility/HistoryUnwind.h +++ lldb/trunk/source/Plugins/Process/Utility/HistoryUnwind.h @@ -18,8 +18,7 @@ class HistoryUnwind : public lldb_private::Unwind { public: - HistoryUnwind(Thread &thread, std::vector pcs, - bool stop_id_is_valid); + HistoryUnwind(Thread &thread, std::vector pcs); ~HistoryUnwind() override; @@ -35,7 +34,6 @@ private: std::vector m_pcs; - bool m_stop_id_is_valid; }; } // namespace lldb_private Index: lldb/trunk/source/Plugins/Process/Utility/HistoryUnwind.cpp =================================================================== --- lldb/trunk/source/Plugins/Process/Utility/HistoryUnwind.cpp +++ lldb/trunk/source/Plugins/Process/Utility/HistoryUnwind.cpp @@ -23,9 +23,8 @@ // Constructor -HistoryUnwind::HistoryUnwind(Thread &thread, std::vector pcs, - bool stop_id_is_valid) - : Unwind(thread), m_pcs(pcs), m_stop_id_is_valid(stop_id_is_valid) {} +HistoryUnwind::HistoryUnwind(Thread &thread, std::vector pcs) + : Unwind(thread), m_pcs(pcs) {} // Destructor @@ -34,7 +33,6 @@ void HistoryUnwind::DoClear() { std::lock_guard guard(m_unwind_mutex); m_pcs.clear(); - m_stop_id_is_valid = false; } lldb::RegisterContextSP Index: lldb/trunk/source/Plugins/SystemRuntime/MacOSX/SystemRuntimeMacOSX.cpp =================================================================== --- lldb/trunk/source/Plugins/SystemRuntime/MacOSX/SystemRuntimeMacOSX.cpp +++ lldb/trunk/source/Plugins/SystemRuntime/MacOSX/SystemRuntimeMacOSX.cpp @@ -485,12 +485,8 @@ m_process->GetByteOrder(), m_process->GetAddressByteSize()); ItemInfo item = ExtractItemInfoFromBuffer(extractor); - bool stop_id_is_valid = true; - if (item.stop_id == 0) - stop_id_is_valid = false; originating_thread_sp = std::make_shared( - *m_process, item.enqueuing_thread_id, item.enqueuing_callstack, - item.stop_id, stop_id_is_valid); + *m_process, item.enqueuing_thread_id, item.enqueuing_callstack); originating_thread_sp->SetExtendedBacktraceToken( item.item_that_enqueued_this); originating_thread_sp->SetQueueName( @@ -530,12 +526,8 @@ m_process->GetByteOrder(), m_process->GetAddressByteSize()); ItemInfo item = ExtractItemInfoFromBuffer(extractor); - bool stop_id_is_valid = true; - if (item.stop_id == 0) - stop_id_is_valid = false; return_thread_sp = std::make_shared( - *m_process, item.enqueuing_thread_id, item.enqueuing_callstack, - item.stop_id, stop_id_is_valid); + *m_process, item.enqueuing_thread_id, item.enqueuing_callstack); return_thread_sp->SetExtendedBacktraceToken(item.item_that_enqueued_this); return_thread_sp->SetQueueName(item.enqueuing_queue_label.c_str()); return_thread_sp->SetQueueID(item.enqueuing_queue_serialnum); @@ -556,14 +548,9 @@ if (type != "libdispatch") return extended_thread_sp; - bool stop_id_is_valid = true; - if (queue_item_sp->GetStopID() == 0) - stop_id_is_valid = false; - extended_thread_sp = std::make_shared( *m_process, queue_item_sp->GetEnqueueingThreadID(), - queue_item_sp->GetEnqueueingBacktrace(), queue_item_sp->GetStopID(), - stop_id_is_valid); + queue_item_sp->GetEnqueueingBacktrace()); extended_thread_sp->SetExtendedBacktraceToken( queue_item_sp->GetItemThatEnqueuedThis()); extended_thread_sp->SetQueueName(queue_item_sp->GetQueueLabel().c_str());