Bartosz Taudul
f0d524ad1f
Don't pass font to SourceView ctor.
2021-11-20 14:44:22 +01:00
Bartosz Taudul
b4dab753e6
List jump source locations.
2021-11-20 02:30:49 +01:00
Bartosz Taudul
fbe85ff8d3
Adapt hotness indicators to DPI scale.
2021-11-20 02:19:50 +01:00
Bartosz Taudul
d0d0aca758
Use font helpers.
2021-11-19 21:09:13 +01:00
Bartosz Taudul
e0a6c51a2f
Add font set/unset helpers.
2021-11-19 21:06:07 +01:00
Bartosz Taudul
dd8083e0ee
Prevent out-of-bounds access.
...
This fixes the issue when assembly view is scrolled to the bottom of the
screen and display scale is reduced by the user. In such case clipper will
report DisplayStart to be at the end element, which would cause out-of-bounds
access to the m_asm array.
Clipper self-fixes this in the next frame, so this workaround is enough.
2021-11-19 20:58:09 +01:00
Bartosz Taudul
c23abca979
Round jump arrows offsets.
2021-11-19 20:56:09 +01:00
Bartosz Taudul
404168ec69
Check whether symbols are ready, not source locations.
2021-11-14 15:51:29 +01:00
Bartosz Taudul
864d7e4e47
Sort symbols list only when actually needed.
2021-11-14 13:05:05 +01:00
Bartosz Taudul
265a39e7c9
Don't select out-of-context asm lines.
2021-11-13 17:35:02 +01:00
Bartosz Taudul
50627646c1
Don't highlight asm lines out of context on hover.
2021-11-13 16:36:46 +01:00
Bartosz Taudul
25316ddada
Display notification icon when context is limited.
2021-11-13 16:34:51 +01:00
Bartosz Taudul
cc425c4a2d
Separate function for checking asm function context.
2021-11-13 16:34:50 +01:00
Bartosz Taudul
7304558bdf
Cycle through assembly blocks when right-clicking source line.
2021-07-26 01:21:58 +02:00
Bartosz Taudul
55a966f9c6
Fix assert.
2021-07-26 01:18:17 +02:00
Bartosz Taudul
06ae39d9cc
Fix debug build.
2021-07-18 16:34:24 +02:00
Bartosz Taudul
8b489c95ff
Rename slow branches/cache to branch/cache impact.
2021-07-18 16:15:32 +02:00
Bartosz Taudul
0e603a0997
Render relative hw samples values.
2021-07-18 16:15:32 +02:00
Bartosz Taudul
d0fad4fd39
Rename relative hw samples to "impact".
2021-07-18 16:15:31 +02:00
Bartosz Taudul
83b159b43b
Count hw stats, if relative mode is set.
2021-07-18 15:00:22 +02:00
Bartosz Taudul
fbf2c87a20
Include hw stats in AddrStatData.
2021-07-18 15:00:22 +02:00
Bartosz Taudul
e30608afbf
Store and pass AddrStat data in one data structure.
2021-07-18 15:00:22 +02:00
Bartosz Taudul
9c7a122d94
Implement counting relative hw samples data.
...
This exploits the fact that AddrStat has two data fields (local and ext) to
store branch and cache information.
2021-07-18 15:00:22 +02:00
Bartosz Taudul
8c78af4d00
Drop limitView from GatherIpHwStats interface.
2021-07-18 15:00:21 +02:00
Bartosz Taudul
a5e655d1ee
Add relative hw samples checkbox.
2021-07-18 15:00:21 +02:00
Bartosz Taudul
b4c1313a2e
Make hw stats cost a parameter.
2021-07-18 02:03:29 +02:00
Bartosz Taudul
0e0692b7f7
Don't display hw samples as time in selected lines summary.
2021-06-20 16:01:19 +02:00
Bartosz Taudul
e9aca02880
Make hw sample cost in source files relative to whole symbol.
2021-06-20 15:55:21 +02:00
Bartosz Taudul
5efc03cdf9
Move cycles up in cost combo selector.
2021-06-20 12:50:13 +02:00
Bartosz Taudul
7e17c8643c
Don't show hw events as time.
2021-06-20 01:08:18 +02:00
Bartosz Taudul
bc4016e97c
Don't depend on callstack frames to match hw samples to source.
2021-06-20 01:01:29 +02:00
Bartosz Taudul
2f3ee594f0
Use square root to make slow branches and cache less spiky.
2021-06-20 00:50:14 +02:00
Bartosz Taudul
3305ea2775
Keep raw hw sample data visually separate.
2021-06-20 00:46:29 +02:00
Bartosz Taudul
07fe0a5447
Use enum for cost selection.
2021-06-20 00:45:39 +02:00
Bartosz Taudul
80e1b0c2cf
Don't display hw samples as time in files list.
2021-06-20 00:14:19 +02:00
Bartosz Taudul
52708268fe
Store 64-bit integers in AddrStat.
2021-06-20 00:08:25 +02:00
Bartosz Taudul
4e6a1bae22
Don't display time for hw samples.
2021-06-20 00:04:08 +02:00
Bartosz Taudul
326a2a70d8
Add indirect hw statistics.
2021-06-20 00:01:37 +02:00
Bartosz Taudul
ad2b6e932b
Don't scroll cost combo list.
2021-06-20 00:01:21 +02:00
Bartosz Taudul
a5991036dc
Add more hw stats as cost.
2021-06-19 23:43:46 +02:00
Bartosz Taudul
c7b3d42852
Calculating cost in cycles and retirements.
2021-06-19 23:39:33 +02:00
Bartosz Taudul
90149641df
Reset cost selection when no samples.
2021-06-19 23:17:24 +02:00
Bartosz Taudul
8d52d2acfd
Disable inline context if no inline symbols available.
2021-06-19 21:40:30 +02:00
Bartosz Taudul
2e3241ba54
Restrict hardware samples to inline function context.
2021-06-19 20:50:06 +02:00
Bartosz Taudul
6cc844abee
Display inline symbol address.
2021-06-19 20:20:52 +02:00
Bartosz Taudul
748c22df8e
Darken assembly instructions which aren't in current context.
2021-06-19 20:11:53 +02:00
Bartosz Taudul
8045ceee5d
Display function assigned to assembly line.
2021-06-19 19:52:33 +02:00
Bartosz Taudul
cc0ca341bb
Add cost criteria selection UI.
2021-06-19 18:16:11 +02:00
Bartosz Taudul
7ad9cafefb
Add child call samples hints to the UI.
2021-06-19 17:41:29 +02:00
Bartosz Taudul
85da04bcc4
Add hw samples line part to source view.
2021-06-09 00:19:17 +02:00
Bartosz Taudul
def9570eda
Extract rendering hw samples line part.
2021-06-09 00:19:17 +02:00
Bartosz Taudul
18cace42ca
Display hw samples tooltip for source lines.
2021-06-08 23:46:30 +02:00
Bartosz Taudul
82bfee5127
Move helper functions to top of the file.
2021-06-08 23:46:29 +02:00
Bartosz Taudul
2eb50bcf42
Hardware sample data was already queried.
2021-06-08 23:46:29 +02:00
Bartosz Taudul
b68c23fc64
Update x86 CPU models list.
2021-06-04 18:59:41 +02:00
Bartosz Taudul
4316d48bea
Add a note about CPUID list.
2021-06-04 18:48:01 +02:00
Bartosz Taudul
7c378cd0a9
Add Rocket Lake uarch data.
2021-06-04 18:40:37 +02:00
Bartosz Taudul
0b05587b05
Don't need to format const string.
2021-06-04 15:27:23 +02:00
Bartosz Taudul
3c31fb56a8
Allow range-limiting hardware samples.
2021-06-04 13:58:00 +02:00
Bartosz Taudul
a1acea0c50
Support hw sample times on server.
2021-06-04 13:38:45 +02:00
Bartosz Taudul
c13611cf0c
Make unreliable hw stats darker.
2021-05-23 21:32:48 +02:00
Bartosz Taudul
19c41b94c0
Add glow to hotness indicators on lines.
2021-05-23 13:52:38 +02:00
Bartosz Taudul
a6f85bd061
Color hardware samples stats.
2021-05-23 13:13:38 +02:00
Bartosz Taudul
48ab346835
Add goodness color table accessor.
2021-05-23 12:49:40 +02:00
Bartosz Taudul
1b589855e8
Adjust hotness color scaling.
2021-05-23 12:29:48 +02:00
Bartosz Taudul
815cf7d00a
Display hardware counter statistics in asm line columns.
2021-05-23 02:39:31 +02:00
Bartosz Taudul
87cff004a4
Show hw samples tooltip when there are no samples.
2021-05-20 20:10:27 +02:00
Bartosz Taudul
3ba82ba4d6
Separate IPC, cache and branch data in tooltip.
2021-05-20 19:56:23 +02:00
Bartosz Taudul
df50eb890f
Fix printing percentage.
2021-05-20 02:53:49 +02:00
Bartosz Taudul
5a7e9cdbdd
0% miss rates are fine too.
2021-05-20 02:31:00 +02:00
Bartosz Taudul
9b4716c49e
Display cache and branch miss rates.
2021-05-20 02:26:02 +02:00
Bartosz Taudul
24b5e16718
Display hw sampling stats in tooltip.
2021-05-20 01:37:59 +02:00
Bartosz Taudul
efc1777051
Implement range limit for child samples.
2021-05-19 20:26:50 +02:00
Giulio Eulisse
bcb250aaab
Update TracySourceView.cpp
2021-05-17 12:06:37 +02:00
Bartosz Taudul
a1aefe33a0
Use DrawLine() in TracySourceView.cpp.
2021-05-01 12:55:56 +02:00
Bartosz Taudul
57d87af8a2
Add tooltips for register read/write markers.
2021-05-01 00:22:11 +02:00
Bartosz Taudul
de5f258b03
Display complementary assembly address tooltips.
2021-04-29 20:33:10 +02:00
Bartosz Taudul
854439cdb1
Display jump target in asm instruction tooltip.
2021-04-29 20:27:32 +02:00
Bartosz Taudul
ac9b97319a
Extract jump name retrieval.
2021-04-29 20:08:18 +02:00
Bartosz Taudul
7cfaaf6310
Exactly known latency shouldn't vary.
2021-04-29 18:24:37 +02:00
Bartosz Taudul
0bbda5ea11
Pressing Z will temporarily switch child calls.
2021-04-20 18:19:00 +02:00
Bartosz Taudul
fb872fa088
Add child samples to source view percentages.
2021-04-18 22:23:55 +02:00
Bartosz Taudul
cba72859e9
No parents if only child samples.
2021-04-18 22:00:49 +02:00
Bartosz Taudul
141a4bc0fe
Fix scroll bar display of child-only samples.
2021-04-18 22:00:49 +02:00
Bartosz Taudul
c7da9b1092
Fix rendering of lines with no local samples.
2021-04-18 22:00:49 +02:00
Bartosz Taudul
66ef71cf7b
Gather child IP stats for addresses without samples.
2021-04-18 22:00:49 +02:00
Bartosz Taudul
ef93c69ee9
Make child calls more discoverable.
2021-04-18 22:00:48 +02:00
Bartosz Taudul
2009f63e32
Group time/samples data by local and child.
2021-04-18 20:43:23 +02:00
Bartosz Taudul
4970c48c51
Don't shadow variables.
2021-04-18 20:43:23 +02:00
Bartosz Taudul
c859d655ad
Include child calls in asm view percentages.
2021-04-18 20:43:22 +02:00
Bartosz Taudul
50a1faa880
Don't print zero sample counts in tooltips.
2021-04-18 20:16:05 +02:00
Bartosz Taudul
5f97c484f1
Include child samples in symbol view file list.
2021-04-18 19:42:24 +02:00
Bartosz Taudul
22a8c53e8b
Account for case with no local samples (external only).
2021-04-18 19:21:53 +02:00
Bartosz Taudul
526d0cd22a
Display child time and samples in symbol stats.
2021-04-18 19:10:39 +02:00
Bartosz Taudul
c5eb398319
Gather external IP stats (no range limit case).
2021-04-18 19:04:29 +02:00
Bartosz Taudul
8db9bcf7f8
Disable child calls checkbox while processing data.
2021-04-18 18:27:39 +02:00
Bartosz Taudul
0d8ee47231
Store instruction pointer stats as AddrStat.
2021-04-18 16:16:47 +02:00
Bartosz Taudul
3845c392fa
Cosmetics.
2021-04-18 15:52:42 +02:00
Bartosz Taudul
55efa64b3f
Do not copy instruction pointer maps.
2021-04-18 15:51:50 +02:00
Bartosz Taudul
2f6adf3641
Add child calls UI.
2021-04-18 15:00:19 +02:00
Bartosz Taudul
ffe8aebfbd
Extend address stats to include child samples.
2021-04-18 15:00:19 +02:00
Bartosz Taudul
fa8c99fd74
Fix missing limit range checkbox in source view.
...
This could happen if range was limited in such a way, that no sample was
within the region.
2021-04-18 14:42:35 +02:00
Bartosz Taudul
450013bc27
Update to current uops.info xml file.
...
This updates ZEN3 and adds Tiger Lake.
2021-04-01 18:46:00 +02:00
Bartosz Taudul
62ac5544b6
Trim empty lines at top and bottom of source preview.
2021-03-27 13:55:22 +01:00
Bartosz Taudul
1cb6c17991
Move syntax color tables to a common header.
2021-03-27 13:03:19 +01:00
Bartosz Taudul
0b5a923e91
Display preview of source code for assembly instructions.
2021-03-26 02:42:15 +01:00
Bartosz Taudul
bd4335bace
Move source file parsing logic to a separate file.
2021-03-26 02:42:14 +01:00
Bartosz Taudul
174bb4d2f1
Extract source code tokenizer to a separate file.
2021-03-26 01:53:49 +01:00
Bartosz Taudul
2fe1fb974a
Display number of entry call stacks in a tooltip.
2021-03-26 00:27:23 +01:00
Bartosz Taudul
29133431bc
Calculate symbol address for parents earlier.
...
While currently this makes no sense, it will be also used in common code
path.
2021-03-26 00:17:46 +01:00
Bartosz Taudul
ec16182887
Only pack pointer if needed.
2021-03-26 00:14:12 +01:00
Stone Tickle
1918c0ffe6
fix TRACY_NO_FILESELECTOR macro
2021-03-17 08:51:24 +09:00
Bartosz Taudul
c08d591bf3
Use proper capstone include path.
2021-01-26 20:35:57 +01:00
Bartosz Taudul
3495a5a678
Print Arm machine code as a 4-byte number would be printed.
2020-11-28 13:24:56 +01:00
Bartosz Taudul
63e3c236f4
Add Zen 3 to list of uarchs.
2020-11-15 21:29:59 +01:00
Bartosz Taudul
2f77885fd9
Show if an matching microarchitecture is selected.
2020-11-13 17:37:53 +01:00
Bartosz Taudul
d7059eca63
Prepare for Zen 3.
...
0xA20F10 is Vermeer.
2020-11-07 00:26:45 +01:00
Bartosz Taudul
30b4eafa22
Add Zen 2 CPU ids.
...
0x860F81 is Lucienne.
0x890F00 is VanGogh.
2020-11-07 00:26:00 +01:00
Bartosz Taudul
b36e821cc7
Add cascade lake CPU ids.
2020-11-07 00:20:55 +01:00
Bartosz Taudul
02c90db2e4
Display op description, if available.
2020-11-07 00:16:10 +01:00
Bartosz Taudul
a5fd6662be
Add CLX to list of uarchs.
2020-11-07 00:07:20 +01:00
Bartosz Taudul
0c48956410
Fix parsing of source files that do not end in newline.
2020-10-28 21:43:03 +01:00
Bartosz Taudul
3976408550
Adapt to non-obsolete ImGuiListClipper interface.
2020-10-18 22:51:59 +02:00
Bartosz Taudul
07fe1266b0
Fix string iteration condition.
2020-10-02 19:31:42 +02:00
Bartosz Taudul
a2f0f7754d
Fix integer types.
2020-10-02 19:30:01 +02:00
Bartosz Taudul
f828fed015
Remove unused variables.
2020-08-15 02:23:04 +02:00
Bartosz Taudul
fa7d515165
Display base symbol address in symbol view window.
2020-08-13 16:36:13 +02:00
Bartosz Taudul
b6d54281a9
Ignore unknown source lines during ip stats gathering.
2020-08-13 00:34:55 +02:00
Bartosz Taudul
8e9a701277
Fix crash when trying to open unavailable source file.
2020-08-12 19:05:16 +02:00
Bartosz Taudul
8cfc614047
Include time range limits in symbol view functions list.
2020-08-11 21:07:23 +02:00
Bartosz Taudul
46163a1989
Implement asm ip stats counter.
2020-08-11 21:07:23 +02:00
Bartosz Taudul
7aa8e408df
Remove unused variable.
2020-08-11 16:02:07 +02:00
Bartosz Taudul
5dd7c7e402
Add time range limiting to symbol view.
2020-08-10 18:58:33 +02:00
Bartosz Taudul
85f54499fe
Add range limit UI to symbol view.
2020-08-10 12:11:07 +02:00
Bartosz Taudul
6fe3736a23
When selecting function in symbol view, go to function location.
2020-07-19 23:43:52 +02:00
Bartosz Taudul
d614dbeda3
Show image name next to symbol name.
2020-07-14 17:23:04 +02:00
Bartosz Taudul
21ddd0a820
Postpone initialization of hashmaps.
2020-06-12 11:26:44 +02:00
Bartosz Taudul
d1ef8ea90b
Set owner of file dialogs on windows.
2020-06-10 01:52:17 +02:00
Bartosz Taudul
929d399995
Fix determination of line width.
2020-06-08 14:02:11 +02:00
Bartosz Taudul
c384ec132f
Fix position of source separator line.
2020-06-06 20:50:24 +02:00
Bartosz Taudul
9c49ee3dd3
Don't mark windows as write-modified when only reading data.
2020-06-06 20:46:46 +02:00
Bartosz Taudul
ecfeb01aad
Set source view content width to max value, regardless of clipping.
2020-06-06 12:37:05 +02:00
Bartosz Taudul
16b116ee83
Enable horizontal scrollbar in source view.
2020-06-05 19:04:12 +02:00
Bartosz Taudul
71d789063e
Show only relevant options in asm view.
2020-06-04 19:59:13 +02:00
Bartosz Taudul
3fbc2c8036
Increase buffer size.
2020-06-04 19:54:11 +02:00
Bartosz Taudul
e19a981b8c
Fix display of unknown source locations in asm view.
2020-06-04 19:39:43 +02:00
Bartosz Taudul
ce2e01bcd7
Skip processing uarch data if AT&T mode is enabled.
2020-06-04 19:30:44 +02:00
Bartosz Taudul
adc2c12a67
Clear asm data when opening just source view.
2020-06-04 19:20:24 +02:00
Bartosz Taudul
c52936855e
Don't read beyond buffer end.
2020-06-04 02:46:46 +02:00
Bartosz Taudul
4f3934ae6a
Use correct symbol address.
2020-05-26 02:08:30 +02:00