summaryrefslogtreecommitdiff
path: root/plugins/rtti/itanium.cpp
diff options
context:
space:
mode:
authorMason Reed <mason@vector35.com>2025-04-08 16:48:52 -0400
committerMason Reed <mason@vector35.com>2025-04-08 16:48:52 -0400
commit47cfa562a751af937d6af93138a632c4978eb70b (patch)
tree9f755174318e4abf72959b887274d3d51845ffbd /plugins/rtti/itanium.cpp
parent315264b4ed6bf2427a9689a33a31bb442e4644dc (diff)
Improve MSVC VFT analysis speed and accuracy
Also adds more information to the progress text when processing vfts for both msvc and itanium
Diffstat (limited to 'plugins/rtti/itanium.cpp')
-rw-r--r--plugins/rtti/itanium.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/plugins/rtti/itanium.cpp b/plugins/rtti/itanium.cpp
index fde0e7f8..745324c7 100644
--- a/plugins/rtti/itanium.cpp
+++ b/plugins/rtti/itanium.cpp
@@ -816,14 +816,15 @@ void ItaniumRTTIProcessor::ProcessVFT()
m_classInfo[coLocatorAddr] = classInfo;
};
+ size_t processedNum = 0;
for (const auto &[coLocatorAddr, vftAddrs]: vftMap)
{
if (bgTask->IsCancelled())
break;
for (const auto& vftAddr: vftAddrs)
- {
populateVftEntries(coLocatorAddr, vftAddr);
- }
+ std::string progress = fmt::format("Processing Itanium VFTs... {}/{}", processedNum++, vftMap.size());
+ bgTask->SetProgressText(progress);
}
bgTask->Finish();