[Lldb-commits] [lldb] [lldb] Mark Symbol::GetPrologueByteSize as const (PR #176459)
via lldb-commits
lldb-commits at lists.llvm.org
Fri Jan 16 11:12:46 PST 2026
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-lldb
Author: Alex Langford (bulbazord)
<details>
<summary>Changes</summary>
This method is only non-const because it lazily computes the information and caches it. This means users of Symbol must otherwise carry around a pointer or reference to a mutable Symbol. I would like to minimize the places that need a mutable pointer/reference to Symbols if possible.
---
Full diff: https://github.com/llvm/llvm-project/pull/176459.diff
2 Files Affected:
- (modified) lldb/include/lldb/Symbol/Symbol.h (+4-4)
- (modified) lldb/source/Symbol/Symbol.cpp (+1-1)
``````````diff
diff --git a/lldb/include/lldb/Symbol/Symbol.h b/lldb/include/lldb/Symbol/Symbol.h
index 1f9d222b6ab29..648703591fc36 100644
--- a/lldb/include/lldb/Symbol/Symbol.h
+++ b/lldb/include/lldb/Symbol/Symbol.h
@@ -221,7 +221,7 @@ class Symbol : public SymbolContextScope {
// If m_type is "Code" or "Function" then this will return the prologue size
// in bytes, else it will return zero.
- uint32_t GetPrologueByteSize();
+ uint32_t GetPrologueByteSize() const;
bool GetDemangledNameIsSynthesized() const {
return m_demangled_is_synthesized;
@@ -320,9 +320,9 @@ class Symbol : public SymbolContextScope {
uint32_t m_uid = LLDB_INVALID_SYMBOL_ID; // User ID (usually the original
// symbol table index)
- uint16_t m_type_data = 0; // data specific to m_type
- uint16_t m_type_data_resolved : 1, // True if the data in m_type_data has
- // already been calculated
+ mutable uint16_t m_type_data = 0; // data specific to m_type
+ mutable uint16_t m_type_data_resolved : 1, // True if the data in m_type_data
+ // has already been calculated
m_is_synthetic : 1, // non-zero if this symbol is not actually in the
// symbol table, but synthesized from other info in
// the object file.
diff --git a/lldb/source/Symbol/Symbol.cpp b/lldb/source/Symbol/Symbol.cpp
index 40497dbccc5c3..45118b49becf4 100644
--- a/lldb/source/Symbol/Symbol.cpp
+++ b/lldb/source/Symbol/Symbol.cpp
@@ -310,7 +310,7 @@ void Symbol::Dump(Stream *s, Target *target, uint32_t index,
}
}
-uint32_t Symbol::GetPrologueByteSize() {
+uint32_t Symbol::GetPrologueByteSize() const {
if (m_type == eSymbolTypeCode || m_type == eSymbolTypeResolver) {
if (!m_type_data_resolved) {
m_type_data_resolved = true;
``````````
</details>
https://github.com/llvm/llvm-project/pull/176459
More information about the lldb-commits
mailing list