Author: Alex Langford Date: 2024-01-26T10:40:33-08:00 New Revision: 02d3a799e7eb2997950d6a288a08a5e51ff0ff59
URL: https://github.com/llvm/llvm-project/commit/02d3a799e7eb2997950d6a288a08a5e51ff0ff59 DIFF: https://github.com/llvm/llvm-project/commit/02d3a799e7eb2997950d6a288a08a5e51ff0ff59.diff LOG: [lldb][NFCI] Remove EventData* parameter from BroadcastEventIfUnique (#79045) Instead of passing the data to BroadcastEventIfUnique to create an Event object on the behalf of the caller, the caller can create the Event up-front. Added: Modified: lldb/include/lldb/Target/Process.h lldb/include/lldb/Utility/Broadcaster.h lldb/source/Target/Process.cpp lldb/source/Utility/Broadcaster.cpp Removed: ################################################################################ diff --git a/lldb/include/lldb/Target/Process.h b/lldb/include/lldb/Target/Process.h index 24c599e044c78fa..4599a0dc8821966 100644 --- a/lldb/include/lldb/Target/Process.h +++ b/lldb/include/lldb/Target/Process.h @@ -3216,6 +3216,8 @@ void PruneThreadPlans(); Status LaunchPrivate(ProcessLaunchInfo &launch_info, lldb::StateType &state, lldb::EventSP &event_sp); + lldb::EventSP CreateEventFromProcessState(uint32_t event_type); + Process(const Process &) = delete; const Process &operator=(const Process &) = delete; }; diff --git a/lldb/include/lldb/Utility/Broadcaster.h b/lldb/include/lldb/Utility/Broadcaster.h index c8127f0a921d882..f39e677fe9ee041 100644 --- a/lldb/include/lldb/Utility/Broadcaster.h +++ b/lldb/include/lldb/Utility/Broadcaster.h @@ -181,9 +181,8 @@ class Broadcaster { m_broadcaster_sp->BroadcastEvent(event_type); } - void BroadcastEventIfUnique(uint32_t event_type, - EventData *event_data = nullptr) { - m_broadcaster_sp->BroadcastEventIfUnique(event_type, event_data); + void BroadcastEventIfUnique(uint32_t event_type) { + m_broadcaster_sp->BroadcastEventIfUnique(event_type); } void Clear() { m_broadcaster_sp->Clear(); } @@ -351,8 +350,7 @@ class Broadcaster { void BroadcastEvent(uint32_t event_type, const lldb::EventDataSP &event_data_sp); - void BroadcastEventIfUnique(uint32_t event_type, - EventData *event_data = nullptr); + void BroadcastEventIfUnique(uint32_t event_type); void Clear(); diff --git a/lldb/source/Target/Process.cpp b/lldb/source/Target/Process.cpp index e1c16ca21643227..23a8a66645c02d6 100644 --- a/lldb/source/Target/Process.cpp +++ b/lldb/source/Target/Process.cpp @@ -4281,25 +4281,31 @@ void Process::CalculateExecutionContext(ExecutionContext &exe_ctx) { // return Host::GetArchSpecForExistingProcess (process_name); //} +EventSP Process::CreateEventFromProcessState(uint32_t event_type) { + auto event_data_sp = + std::make_shared<ProcessEventData>(shared_from_this(), GetState()); + return std::make_shared<Event>(event_type, event_data_sp); +} + void Process::AppendSTDOUT(const char *s, size_t len) { std::lock_guard<std::recursive_mutex> guard(m_stdio_communication_mutex); m_stdout_data.append(s, len); - BroadcastEventIfUnique(eBroadcastBitSTDOUT, - new ProcessEventData(shared_from_this(), GetState())); + auto event_sp = CreateEventFromProcessState(eBroadcastBitSTDOUT); + BroadcastEventIfUnique(event_sp); } void Process::AppendSTDERR(const char *s, size_t len) { std::lock_guard<std::recursive_mutex> guard(m_stdio_communication_mutex); m_stderr_data.append(s, len); - BroadcastEventIfUnique(eBroadcastBitSTDERR, - new ProcessEventData(shared_from_this(), GetState())); + auto event_sp = CreateEventFromProcessState(eBroadcastBitSTDERR); + BroadcastEventIfUnique(event_sp); } void Process::BroadcastAsyncProfileData(const std::string &one_profile_data) { std::lock_guard<std::recursive_mutex> guard(m_profile_data_comm_mutex); m_profile_data.push_back(one_profile_data); - BroadcastEventIfUnique(eBroadcastBitProfileData, - new ProcessEventData(shared_from_this(), GetState())); + auto event_sp = CreateEventFromProcessState(eBroadcastBitProfileData); + BroadcastEventIfUnique(event_sp); } void Process::BroadcastStructuredData(const StructuredData::ObjectSP &object_sp, diff --git a/lldb/source/Utility/Broadcaster.cpp b/lldb/source/Utility/Broadcaster.cpp index 33cd49963e7c74c..12903edc36b1b98 100644 --- a/lldb/source/Utility/Broadcaster.cpp +++ b/lldb/source/Utility/Broadcaster.cpp @@ -311,9 +311,8 @@ void Broadcaster::BroadcasterImpl::BroadcastEvent( PrivateBroadcastEvent(event_sp, false); } -void Broadcaster::BroadcasterImpl::BroadcastEventIfUnique( - uint32_t event_type, EventData *event_data) { - auto event_sp = std::make_shared<Event>(event_type, event_data); +void Broadcaster::BroadcasterImpl::BroadcastEventIfUnique(uint32_t event_type) { + auto event_sp = std::make_shared<Event>(event_type, /*data = */ nullptr); PrivateBroadcastEvent(event_sp, true); } _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits