diff --git a/lldb/include/lldb/Core/RangeMap.h b/lldb/include/lldb/Core/RangeMap.h index e917f448df04..c04826164c59 100644 --- a/lldb/include/lldb/Core/RangeMap.h +++ b/lldb/include/lldb/Core/RangeMap.h @@ -588,7 +588,13 @@ namespace lldb_private { { m_entries.clear(); } - + + void + Reserve (typename Collection::size_type size) + { + m_entries.resize (size); + } + bool IsEmpty () const { @@ -1137,7 +1143,13 @@ namespace lldb_private { { m_entries.clear(); } - + + void + Reserve (typename Collection::size_type size) + { + m_entries.resize (size); + } + bool IsEmpty () const { diff --git a/lldb/source/Symbol/DWARFCallFrameInfo.cpp b/lldb/source/Symbol/DWARFCallFrameInfo.cpp index c8bc08bbd991..d1e7b22f85ed 100644 --- a/lldb/source/Symbol/DWARFCallFrameInfo.cpp +++ b/lldb/source/Symbol/DWARFCallFrameInfo.cpp @@ -109,6 +109,8 @@ DWARFCallFrameInfo::GetFunctionAddressAndSizeVector (FunctionAddressAndSizeVecto { GetFDEIndex(); const size_t count = m_fde_index.GetSize(); + function_info.Clear(); + function_info.Reserve(count); for (size_t i = 0; i < count; ++i) { const FDEEntryMap::Entry *func_offset_data_entry = m_fde_index.GetEntryAtIndex (i);