[Lldb-commits] [lldb] [lldb] Remove ConstString from UnwindPlan (PR #227914)

via lldb-commits lldb-commits at lists.llvm.org
Wed Sep 30 17:14:16 PDT 2026


llvmorg-github-actions[bot] wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-lldb

Author: Alex Langford (bulbazord)

<details>
<summary>Changes</summary>



---
Full diff: https://github.com/llvm/llvm-project/pull/227914.diff


4 Files Affected:

- (modified) lldb/include/lldb/Symbol/UnwindPlan.h (+3-4) 
- (modified) lldb/source/Plugins/UnwindAssembly/x86/x86AssemblyInspectionEngine.cpp (+1-1) 
- (modified) lldb/source/Symbol/UnwindPlan.cpp (+8-8) 
- (modified) lldb/source/Target/RegisterContextUnwind.cpp (+1-1) 


``````````diff
diff --git a/lldb/include/lldb/Symbol/UnwindPlan.h b/lldb/include/lldb/Symbol/UnwindPlan.h
index 957eb6afc6573..92e2a4b57f962 100644
--- a/lldb/include/lldb/Symbol/UnwindPlan.h
+++ b/lldb/include/lldb/Symbol/UnwindPlan.h
@@ -14,7 +14,6 @@
 #include <vector>
 
 #include "lldb/Core/AddressRange.h"
-#include "lldb/Utility/ConstString.h"
 #include "lldb/Utility/RegisterInfo.h"
 #include "lldb/Utility/Stream.h"
 #include "lldb/lldb-private.h"
@@ -489,7 +488,7 @@ class UnwindPlan {
 
   const UnwindPlan::Row *GetLastRow() const;
 
-  lldb_private::ConstString GetSourceName() const;
+  llvm::StringRef GetSourceName() const;
 
   void SetSourceName(const char *);
 
@@ -533,7 +532,7 @@ class UnwindPlan {
     m_row_list.clear();
     m_plan_valid_ranges.clear();
     m_register_kind = lldb::eRegisterKindDWARF;
-    m_source_name.Clear();
+    m_source_name.clear();
     m_plan_is_sourced_from_compiler = eLazyBoolCalculate;
     m_plan_is_valid_at_all_instruction_locations = eLazyBoolCalculate;
     m_plan_is_for_signal_trap = eLazyBoolCalculate;
@@ -550,7 +549,7 @@ class UnwindPlan {
   uint32_t m_return_addr_register; // The register that has the return address
                                    // for the caller frame
                                    // e.g. the lr on arm
-  lldb_private::ConstString
+  std::string
       m_source_name; // for logging, where this UnwindPlan originated from
   lldb_private::LazyBool m_plan_is_sourced_from_compiler;
   lldb_private::LazyBool m_plan_is_valid_at_all_instruction_locations;
diff --git a/lldb/source/Plugins/UnwindAssembly/x86/x86AssemblyInspectionEngine.cpp b/lldb/source/Plugins/UnwindAssembly/x86/x86AssemblyInspectionEngine.cpp
index d85c11e3af120..4ae66f8c94b39 100644
--- a/lldb/source/Plugins/UnwindAssembly/x86/x86AssemblyInspectionEngine.cpp
+++ b/lldb/source/Plugins/UnwindAssembly/x86/x86AssemblyInspectionEngine.cpp
@@ -1541,7 +1541,7 @@ bool x86AssemblyInspectionEngine::AugmentUnwindPlanFromCallSite(
 
   unwind_plan.SetPlanValidAddressRanges({func_range});
   if (unwind_plan_updated) {
-    std::string unwind_plan_source = unwind_plan.GetSourceName().GetString();
+    std::string unwind_plan_source = unwind_plan.GetSourceName().str();
     unwind_plan_source += " plus augmentation from assembly parsing";
     unwind_plan.SetSourceName(unwind_plan_source.c_str());
     unwind_plan.SetSourcedFromCompiler(eLazyBoolNo);
diff --git a/lldb/source/Symbol/UnwindPlan.cpp b/lldb/source/Symbol/UnwindPlan.cpp
index 3187284bd0762..a92c4e32ec0bb 100644
--- a/lldb/source/Symbol/UnwindPlan.cpp
+++ b/lldb/source/Symbol/UnwindPlan.cpp
@@ -462,11 +462,11 @@ bool UnwindPlan::PlanValidAtAddress(Address addr) const {
         LLDB_LOGF(log,
                   "UnwindPlan is invalid -- no unwind rows for UnwindPlan "
                   "'%s' at address %s",
-                  m_source_name.GetCString(), s.GetData());
+                  m_source_name.c_str(), s.GetData());
       } else {
         LLDB_LOGF(log,
                   "UnwindPlan is invalid -- no unwind rows for UnwindPlan '%s'",
-                  m_source_name.GetCString());
+                  m_source_name.c_str());
       }
     }
     return false;
@@ -485,12 +485,12 @@ bool UnwindPlan::PlanValidAtAddress(Address addr) const {
         LLDB_LOGF(log,
                   "UnwindPlan is invalid -- no CFA register defined in row 0 "
                   "for UnwindPlan '%s' at address %s",
-                  m_source_name.GetCString(), s.GetData());
+                  m_source_name.c_str(), s.GetData());
       } else {
         LLDB_LOGF(log,
                   "UnwindPlan is invalid -- no CFA register defined in row 0 "
                   "for UnwindPlan '%s'",
-                  m_source_name.GetCString());
+                  m_source_name.c_str());
       }
     }
     return false;
@@ -508,9 +508,9 @@ bool UnwindPlan::PlanValidAtAddress(Address addr) const {
 }
 
 void UnwindPlan::Dump(Stream &s, Thread *thread, lldb::addr_t base_addr) const {
-  if (!m_source_name.IsEmpty()) {
+  if (!m_source_name.empty()) {
     s.Printf("This UnwindPlan originally sourced from %s\n",
-             m_source_name.GetCString());
+             m_source_name.c_str());
   }
   s.PutCString("This UnwindPlan is sourced from the compiler: ");
   switch (m_plan_is_sourced_from_compiler) {
@@ -563,10 +563,10 @@ void UnwindPlan::Dump(Stream &s, Thread *thread, lldb::addr_t base_addr) const {
 }
 
 void UnwindPlan::SetSourceName(const char *source) {
-  m_source_name = ConstString(source);
+  m_source_name = llvm::StringRef(source).str();
 }
 
-ConstString UnwindPlan::GetSourceName() const { return m_source_name; }
+llvm::StringRef UnwindPlan::GetSourceName() const { return m_source_name; }
 
 const RegisterInfo *UnwindPlan::GetRegisterInfo(Thread *thread,
                                                 uint32_t unwind_reg) const {
diff --git a/lldb/source/Target/RegisterContextUnwind.cpp b/lldb/source/Target/RegisterContextUnwind.cpp
index 354bfddaa47ce..c2edf90e5d2df 100644
--- a/lldb/source/Target/RegisterContextUnwind.cpp
+++ b/lldb/source/Target/RegisterContextUnwind.cpp
@@ -1584,7 +1584,7 @@ RegisterContextUnwind::GetAbstractRegisterLocation(uint32_t lldb_regnum,
   std::string unwindplan_name;
   if (m_full_unwind_plan_sp) {
     unwindplan_name += "via '";
-    unwindplan_name += m_full_unwind_plan_sp->GetSourceName().AsCString("");
+    unwindplan_name += m_full_unwind_plan_sp->GetSourceName();
     unwindplan_name += "'";
   }
   UNWIND_LOG(log, "no save location for {0} ({1}) {2}", regnum.GetName(),

``````````

</details>


https://github.com/llvm/llvm-project/pull/227914


More information about the lldb-commits mailing list