diff options
| author | JosJuice <josjuice@gmail.com> | 2026-02-14 14:42:42 +0100 |
|---|---|---|
| committer | JosJuice <josjuice@gmail.com> | 2026-02-23 23:01:49 +0100 |
| commit | c1a26808ce5a09bcc08e029b71d4b1fb47bc4d57 (patch) | |
| tree | 6c9a139f680818afbf96552ba6208bd5a5da7db4 /Source/Core/DolphinQt/Debugger/JitBlockTableModel.cpp | |
| parent | 36f45dce44ddf8074df70fe1c217e08735189d57 (diff) | |
Jit: Use RangeSet for physical_addresses
This makes JitBaseBlockCache::ErasePhysicalRange around 50% faster and
PPCAnalyzer::Analyze around 40% faster. Rogue Squadron 2's notoriously
laggy action of switching to and from cockpit view is made something
like 20-30% faster by this, though this is a very rough measurement.
Diffstat (limited to 'Source/Core/DolphinQt/Debugger/JitBlockTableModel.cpp')
| -rw-r--r-- | Source/Core/DolphinQt/Debugger/JitBlockTableModel.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/Source/Core/DolphinQt/Debugger/JitBlockTableModel.cpp b/Source/Core/DolphinQt/Debugger/JitBlockTableModel.cpp index 25701d26f4..61f5851380 100644 --- a/Source/Core/DolphinQt/Debugger/JitBlockTableModel.cpp +++ b/Source/Core/DolphinQt/Debugger/JitBlockTableModel.cpp @@ -236,7 +236,8 @@ QVariant JitBlockTableModel::DisplayRoleData(const QModelIndex& index) const case Column::CodeBufferSize: return QString::number(jit_block.originalSize * sizeof(UGeckoInstruction)); case Column::RepeatInstructions: - return QString::number(jit_block.originalSize - jit_block.physical_addresses.size()); + return QString::number(jit_block.originalSize - jit_block.physical_addresses.get_stats().first / + sizeof(UGeckoInstruction)); case Column::HostNearCodeSize: return QString::number(jit_block.near_end - jit_block.near_begin); case Column::HostFarCodeSize: @@ -329,7 +330,9 @@ QVariant JitBlockTableModel::SortRoleData(const QModelIndex& index) const case Column::CodeBufferSize: return static_cast<qulonglong>(jit_block.originalSize); case Column::RepeatInstructions: - return static_cast<qulonglong>(jit_block.originalSize - jit_block.physical_addresses.size()); + return static_cast<qulonglong>(jit_block.originalSize - + jit_block.physical_addresses.get_stats().first / + sizeof(UGeckoInstruction)); case Column::HostNearCodeSize: return static_cast<qulonglong>(jit_block.near_end - jit_block.near_begin); case Column::HostFarCodeSize: |
