https://github.com/felipepiovezan created https://github.com/llvm/llvm-project/pull/151987
The ctor that takes a reference to ExecutionContextRef can be implemented in terms of the ctor that takes a pointer to that object, removing code duplication. >From c831152b699e1c4e4f6331a1feff356d7627cad0 Mon Sep 17 00:00:00 2001 From: Felipe de Azevedo Piovezan <fpiove...@apple.com> Date: Mon, 4 Aug 2025 07:27:55 -0700 Subject: [PATCH] [lldb][nfc] Use delegating ctor for ExecutionContext The ctor that takes a reference to ExecutionContextRef can be implemented in terms of the ctor that takes a pointer to that object, removing code duplication. --- lldb/include/lldb/Target/ExecutionContext.h | 4 +++- lldb/source/Target/ExecutionContext.cpp | 13 ------------- 2 files changed, 3 insertions(+), 14 deletions(-) diff --git a/lldb/include/lldb/Target/ExecutionContext.h b/lldb/include/lldb/Target/ExecutionContext.h index d8c233a666bb4..aebd0d5308e72 100644 --- a/lldb/include/lldb/Target/ExecutionContext.h +++ b/lldb/include/lldb/Target/ExecutionContext.h @@ -318,7 +318,9 @@ class ExecutionContext { // These two variants take in a locker, and grab the target, lock the API // mutex into locker, then fill in the rest of the shared pointers. ExecutionContext(const ExecutionContextRef &exe_ctx_ref, - std::unique_lock<std::recursive_mutex> &locker); + std::unique_lock<std::recursive_mutex> &locker) + : ExecutionContext(&exe_ctx_ref, locker) {} + ExecutionContext(const ExecutionContextRef *exe_ctx_ref, std::unique_lock<std::recursive_mutex> &locker); // Create execution contexts from execution context scopes diff --git a/lldb/source/Target/ExecutionContext.cpp b/lldb/source/Target/ExecutionContext.cpp index b1563d9ceb71b..3f54ea55c9c81 100644 --- a/lldb/source/Target/ExecutionContext.cpp +++ b/lldb/source/Target/ExecutionContext.cpp @@ -140,19 +140,6 @@ ExecutionContext::ExecutionContext(const ExecutionContextRef *exe_ctx_ref_ptr, } } -ExecutionContext::ExecutionContext(const ExecutionContextRef &exe_ctx_ref, - std::unique_lock<std::recursive_mutex> &lock) - : m_target_sp(exe_ctx_ref.GetTargetSP()), m_process_sp(), m_thread_sp(), - m_frame_sp() { - if (m_target_sp) { - lock = std::unique_lock<std::recursive_mutex>(m_target_sp->GetAPIMutex()); - - m_process_sp = exe_ctx_ref.GetProcessSP(); - m_thread_sp = exe_ctx_ref.GetThreadSP(); - m_frame_sp = exe_ctx_ref.GetFrameSP(); - } -} - ExecutionContext::ExecutionContext(ExecutionContextScope *exe_scope_ptr) : m_target_sp(), m_process_sp(), m_thread_sp(), m_frame_sp() { if (exe_scope_ptr) _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits