mirror of
https://github.com/wolfpld/tracy.git
synced 2025-03-20 07:40:02 +08:00
Process additional hardware sample data.
This commit is contained in:
@@ -4467,6 +4467,18 @@ bool Worker::Process( const QueueItem& ev )
|
||||
case QueueType::HwSampleInstructionRetired:
|
||||
ProcessHwSampleInstructionRetired( ev.hwSample );
|
||||
break;
|
||||
case QueueType::HwSampleCacheReference:
|
||||
ProcessHwSampleCacheReference( ev.hwSample );
|
||||
break;
|
||||
case QueueType::HwSampleCacheMiss:
|
||||
ProcessHwSampleCacheMiss( ev.hwSample );
|
||||
break;
|
||||
case QueueType::HwSampleBranchRetired:
|
||||
ProcessHwSampleBranchRetired( ev.hwSample );
|
||||
break;
|
||||
case QueueType::HwSampleBranchMiss:
|
||||
ProcessHwSampleBranchMiss( ev.hwSample );
|
||||
break;
|
||||
case QueueType::ParamSetup:
|
||||
ProcessParamSetup( ev.paramSetup );
|
||||
break;
|
||||
@@ -6288,6 +6300,34 @@ void Worker::ProcessHwSampleInstructionRetired( const QueueHwSample& ev )
|
||||
it->second.retired++;
|
||||
}
|
||||
|
||||
void Worker::ProcessHwSampleCacheReference( const QueueHwSample& ev )
|
||||
{
|
||||
auto it = m_data.hwSamples.find( ev.ip );
|
||||
if( it == m_data.hwSamples.end() ) it = m_data.hwSamples.emplace( ev.ip, HwSampleData {} ).first;
|
||||
it->second.cacheRef++;
|
||||
}
|
||||
|
||||
void Worker::ProcessHwSampleCacheMiss( const QueueHwSample& ev )
|
||||
{
|
||||
auto it = m_data.hwSamples.find( ev.ip );
|
||||
if( it == m_data.hwSamples.end() ) it = m_data.hwSamples.emplace( ev.ip, HwSampleData {} ).first;
|
||||
it->second.cacheMiss++;
|
||||
}
|
||||
|
||||
void Worker::ProcessHwSampleBranchRetired( const QueueHwSample& ev )
|
||||
{
|
||||
auto it = m_data.hwSamples.find( ev.ip );
|
||||
if( it == m_data.hwSamples.end() ) it = m_data.hwSamples.emplace( ev.ip, HwSampleData {} ).first;
|
||||
it->second.branchRetired++;
|
||||
}
|
||||
|
||||
void Worker::ProcessHwSampleBranchMiss( const QueueHwSample& ev )
|
||||
{
|
||||
auto it = m_data.hwSamples.find( ev.ip );
|
||||
if( it == m_data.hwSamples.end() ) it = m_data.hwSamples.emplace( ev.ip, HwSampleData {} ).first;
|
||||
it->second.branchMiss++;
|
||||
}
|
||||
|
||||
void Worker::ProcessParamSetup( const QueueParamSetup& ev )
|
||||
{
|
||||
CheckString( ev.name );
|
||||
|
||||
Reference in New Issue
Block a user