@@ -435,25 +435,22 @@ static std::string getContextKeyStr(ContextKey *K,
435
435
void HybridPerfReader::unwindSamples () {
436
436
if (Binary->useFSDiscriminator ())
437
437
exitWithError (" FS discriminator is not supported in CS profile." );
438
- std::set<uint64_t > AllUntrackedCallsites;
439
438
VirtualUnwinder Unwinder (&SampleCounters, Binary);
440
439
for (const auto &Item : AggregatedSamples) {
441
440
const PerfSample *Sample = Item.first .getPtr ();
442
441
Unwinder.unwind (Sample, Item.second );
443
- auto &CurrUntrackedCallsites = Unwinder.getUntrackedCallsites ();
444
- AllUntrackedCallsites.insert (CurrUntrackedCallsites.begin (),
445
- CurrUntrackedCallsites.end ());
446
442
}
447
443
448
444
// Warn about untracked frames due to missing probes.
449
445
if (ShowDetailedWarning) {
450
- for (auto Address : AllUntrackedCallsites )
446
+ for (auto Address : Unwinder. getUntrackedCallsites () )
451
447
WithColor::warning () << " Profile context truncated due to missing probe "
452
448
<< " for call instruction at "
453
449
<< format (" 0x%" PRIx64, Address) << " \n " ;
454
450
}
455
451
456
- emitWarningSummary (AllUntrackedCallsites.size (), SampleCounters.size (),
452
+ emitWarningSummary (Unwinder.getUntrackedCallsites ().size (),
453
+ SampleCounters.size (),
457
454
" of profiled contexts are truncated due to missing probe "
458
455
" for call instruction." );
459
456
}
0 commit comments