tatyana-krasnukha added a comment. Without overriding Process::GetMemoryRegions still does a lot of unnecessary job (FindMemoryRegion for each element in the vector). With these changes, it may just return m_regions (if not empty), doesn't it?
================ Comment at: source/Plugins/Process/minidump/MinidumpParser.cpp:475 static_cast<uint32_t>(MinidumpMemoryInfoState::MemFree); - info.SetMapped((entry->state != MemFree) ? yes : no); + for (const auto &entry : mem_info_list) { ---------------- Here may be `m_regions.reserve(mem_info_list.size())` ================ Comment at: source/Plugins/Process/minidump/MinidumpParser.cpp:484 + region.SetMapped((entry->state != MemFree) ? yes : no); + m_regions.push_back(region); + } ---------------- You can move `region` here. ================ Comment at: source/Plugins/Process/minidump/MinidumpParser.cpp:500 + return false; + + for (const auto &memory_desc : memory_list) { ---------------- m_regions.reserve(memory_list.size()) and m_regions.shrink_to_fit() after the loop. ================ Comment at: source/Plugins/Process/minidump/MinidumpParser.cpp:526 + return false; + + for (const auto &memory_desc : memory64_list) { ---------------- Same CHANGES SINCE LAST ACTION https://reviews.llvm.org/D55522/new/ https://reviews.llvm.org/D55522 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits