diff --git a/lldb/include/lldb/Core/ValueObject.h b/lldb/include/lldb/Core/ValueObject.h index 4c8a6af3c93176313c8da1629d6dc309811338b2..b9c3a3c4d3a137b5dd1595f10a817ac93949415e 100644 --- a/lldb/include/lldb/Core/ValueObject.h +++ b/lldb/include/lldb/Core/ValueObject.h @@ -966,7 +966,6 @@ public: { m_type_summary_sp = format; ClearUserVisibleData(eClearUserVisibleDataItemsSummary); - m_is_getting_summary = false; } void diff --git a/lldb/source/Core/ValueObject.cpp b/lldb/source/Core/ValueObject.cpp index 9e27dc0b16422e5d70652364b86349039ad24591..800ab06bb2d51ea1e2f6ebe827756654467329c6 100644 --- a/lldb/source/Core/ValueObject.cpp +++ b/lldb/source/Core/ValueObject.cpp @@ -671,6 +671,14 @@ ValueObject::GetSummaryAsCString (TypeSummaryImpl* summary_ptr, return false; m_is_getting_summary = true; + + // this is a hot path in code and we prefer to avoid setting this string all too often also clearing out other + // information that we might care to see in a crash log. might be useful in very specific situations though. + /*Host::SetCrashDescriptionWithFormat("Trying to fetch a summary for %s %s. Summary provider's description is %s", + GetTypeName().GetCString(), + GetName().GetCString(), + summary_ptr->GetDescription().c_str());*/ + if (UpdateValueIfNeeded (false)) { if (summary_ptr) @@ -3928,7 +3936,6 @@ ValueObject::ClearUserVisibleData(uint32_t clear_mask) if ((clear_mask & eClearUserVisibleDataItemsSummary) == eClearUserVisibleDataItemsSummary) { - m_is_getting_summary = false; m_summary_str.clear(); }