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

Reply via email to