Commit Graph

444 Commits

Author SHA1 Message Date
Bartosz Taudul
0a69ef3b9c
Print asm operands taking tokens into account. 2022-09-16 00:30:56 +02:00
Bartosz Taudul
d823a24534
Dummy tokenization of asm operands. 2022-09-16 00:30:29 +02:00
Bartosz Taudul
4913f0e1e6
Greatly simplify asm line text drawing.
This change also colors asm mnemonics and jump labels. Asm operands are not
yet colored.
2022-09-15 23:36:31 +02:00
Bartosz Taudul
c27bcc524c
Store syntax colors as 32-bit uints. 2022-09-11 00:46:27 +02:00
Bartosz Taudul
9372d9fb28
Collect asm operation type data. 2022-09-11 00:30:37 +02:00
Bartosz Taudul
eee6cb06fa
Align jump arrows to pixel boundaries. 2022-09-09 00:32:13 +02:00
Bartosz Taudul
414f467c6e
More jump targets to normalize. 2022-08-19 12:50:47 +02:00
Bartosz Taudul
2f219188e1
Fix function normalization being forced on. 2022-08-18 14:13:53 +02:00
Bartosz Taudul
d62f7d5d13
Shorten zone name in jump popup target submenu. 2022-08-18 00:49:42 +02:00
Bartosz Taudul
f9a4bc55cc
Normalize function names in jump popup. 2022-08-18 00:35:59 +02:00
Bartosz Taudul
a1f09fab35
Assembly lines without source locations are navigatable to. 2022-08-18 00:19:32 +02:00
Bartosz Taudul
4bcb59bbe6
Update font awesome and migrate to v6 headers. 2022-08-17 12:07:38 +02:00
Bartosz Taudul
ef35c01e14
Highlight jump line on hover over jump target label. 2022-08-17 00:30:07 +02:00
Bartosz Taudul
6659e9967a
Fix alignment of inline function warning triangle. 2022-08-15 23:04:56 +02:00
Bartosz Taudul
c6ad1c4969
Print file name in source view with big font. 2022-08-15 23:01:40 +02:00
Bartosz Taudul
f39efbaa07
Normalize child call names in symbol view. 2022-08-15 22:58:35 +02:00
Bartosz Taudul
00e0187506
Print symbol name in symbol view with big font. 2022-08-15 22:53:32 +02:00
Bartosz Taudul
d3cb8ccef2
Normalize jump names in assembly lines. 2022-08-15 22:44:31 +02:00
Bartosz Taudul
a5998adf83
Normalize function name in assembly line location popup. 2022-08-15 22:16:05 +02:00
Bartosz Taudul
2031c92f7a
Add source code tooltip to function selection list. 2022-08-15 22:10:59 +02:00
Bartosz Taudul
163e7fd490
Normalize names in function selection list in symbol view. 2022-08-15 22:06:35 +02:00
Bartosz Taudul
dc84752fab
Normalize symbol view symbol name. 2022-08-15 21:51:11 +02:00
Bartosz Taudul
d12fa11762
Change magic value enums to constexprs. 2022-08-14 18:16:30 +02:00
Bartosz Taudul
86c2574848
Fix printing floats in source view. 2022-08-14 14:16:56 +02:00
Bartosz Taudul
e289884395
Display jump target even if there's no source location. 2022-08-14 14:01:01 +02:00
Bartosz Taudul
99a110d5b1
Add asm line hover highlight for unknown locations.
In some cases there are many unknown locations next to each other. Having a
hover highlight helps to distinguish one from another.
2022-08-14 13:40:39 +02:00
Bartosz Taudul
7dbfed9aea
Drop access to native window.
The new NFD library is not using this information, and the old one was using
it only on Windows. Oh well.

Removal of this functionality also removes some build-time decisions.
2022-08-12 21:44:24 +02:00
Bartosz Taudul
baea6ddf11
More concise machine code display. 2022-08-09 01:17:24 +02:00
Bartosz Taudul
73be35ea98
Fix unknown source box style. 2022-08-06 23:41:47 +02:00
Bartosz Taudul
bdd4d28770
Extend max asm line width, if needed. 2022-05-09 00:44:45 +02:00
Bartosz Taudul
76f3207bc4
Restore the intended spacing for extra asm comments. 2022-05-09 00:37:59 +02:00
Bartosz Taudul
a354eb4ab8
Merge pull request #381 from bjacob/fix-layout-379
Fix layout bug (https://github.com/wolfpld/tracy/issues/379)
2022-05-04 21:48:34 +02:00
Benoit Jacob
2c4fe22f50 Fix layout bug (https://github.com/wolfpld/tracy/issues/379)
I had introduced this bug recently in https://github.com/wolfpld/tracy/pull/369

Fixes #379
2022-05-04 16:26:42 +00:00
Bartosz Taudul
8bf21bfb81
Update microarchitecture CPU ids. 2022-05-03 22:15:12 +02:00
Bartosz Taudul
45a4dc154a
Update microarchitectures list. 2022-05-03 22:01:50 +02:00
Bartosz Taudul
fc37f3c04c
Remove leftovers. 2022-04-29 19:13:26 +02:00
Bartosz Taudul
1b7e8c3520
Use ImGui keycodes. 2022-04-27 01:16:46 +02:00
Bartosz Taudul
95cf143336
Remove unused variables. 2022-04-26 22:01:09 +02:00
Bartosz Taudul
c9240c100d
Fix initialization order. 2022-04-26 22:01:09 +02:00
Bartosz Taudul
1f3ebc9f41
Use item spacing instead of ExtraLineHeight. 2022-04-26 21:11:38 +02:00
Bartosz Taudul
d56741cbeb
Stop pretending to not require additional fonts. 2022-04-25 23:29:44 +02:00
bjacob
e6a29862ec
Fix column widths for hw counts and source location (#369)
Fix column widths for hw counts and source location
2022-04-21 18:30:55 +02:00
Bartosz Taudul
a852cf390a
Adapt code to new NFD. 2022-04-20 19:40:27 +02:00
Bartosz Taudul
1fd39e90b9
Implement navigation from jump arrow context menu. 2022-04-06 23:41:46 +02:00
Bartosz Taudul
0e56397c5a
Don't show empty menu when source is not available. 2022-04-06 23:34:30 +02:00
Bartosz Taudul
7893a83633
Display jump arrow context (src and target source code). 2022-04-06 02:01:29 +02:00
Bartosz Taudul
db3736983a
Always open jump arrow context menu. 2022-04-06 02:01:07 +02:00
Bartosz Taudul
4555910536
Extract source fragment printing functionality. 2022-04-06 01:54:14 +02:00
Bartosz Taudul
1b3464a386
Fix wrong source color box. 2022-04-06 01:42:13 +02:00
Bartosz Taudul
e34d79c0c7
Display target location for local jumps. 2022-04-06 01:23:35 +02:00
Bartosz Taudul
2fc64fceba
Select appropriate branch cost, if no retirement data. 2022-04-01 19:09:56 +02:00
Bartosz Taudul
88a153504d
Show branch impact if no retirement data available.
Some CPUs are only able to report branch miss data, but not branch retirement
data.
2022-04-01 19:06:15 +02:00
Bartosz Taudul
c6da04a18b
Use TooltipIfHovered() where appropriate. 2022-01-01 16:57:48 +01:00
Bartosz Taudul
5d439c0165
Round jump separation. 2021-12-30 16:35:18 +01:00
Bartosz Taudul
adb168a5ea
Fix offset. 2021-12-30 03:19:03 +01:00
Bartosz Taudul
36068d1f2b
Condense hw samples. 2021-12-29 14:07:37 +01:00
Bartosz Taudul
0d5fbff07f
Adjust jump arrow separation to DPI scale. 2021-12-29 13:44:58 +01:00
Bartosz Taudul
ae9b9318e8
Fix calculation of jump arrows offset. 2021-12-29 13:41:55 +01:00
Bartosz Taudul
81de0a3a75
Display source location of symbol functions. 2021-12-24 03:19:13 +01:00
Bartosz Taudul
dc2ac4e4b3
Display child calls source locations. 2021-12-24 03:11:46 +01:00
Bartosz Taudul
acd8a32672
Fix referencing unknown symbol. 2021-12-24 02:36:28 +01:00
Bartosz Taudul
c4c43ef7fe
Take rounding into consideration. 2021-12-23 16:02:07 +01:00
Bartosz Taudul
b83cda575a
Add Rembrandt cpuid. 2021-12-23 13:34:24 +01:00
Bartosz Taudul
29d7115815
Add ADL cpuid. 2021-12-23 13:32:17 +01:00
Bartosz Taudul
12e0cb2036
Reorder uarch list. Push old ones to the bottom. 2021-12-23 13:28:06 +01:00
Bartosz Taudul
4642afdb9d
Add Alder Lake to uarch selection list. 2021-12-23 13:24:26 +01:00
Bartosz Taudul
6b59ccfe4d
GetFontSize() -> GetTextLineHeight(). 2021-12-22 17:57:57 +01:00
Bartosz Taudul
9fae8b7e42
Don't use obsolete functions. 2021-12-22 17:08:27 +01:00
Bartosz Taudul
52eeddd63a
Fix display of entry call stacks when inlines are present. 2021-11-27 16:41:27 +01:00
Bartosz Taudul
a84fd26ecb
Change toggle button to faux drop down. 2021-11-27 15:40:23 +01:00
Bartosz Taudul
58d5fb2ff4
Fix calculation of child sample counts. 2021-11-27 14:49:22 +01:00
Bartosz Taudul
702c87dad0
Display list of child calls. 2021-11-27 14:43:31 +01:00
Bartosz Taudul
6a7b4e6066
Add calculation of child stats to source view. 2021-11-27 14:42:23 +01:00
Bartosz Taudul
85f755f3f5
Use proper base symbol address. 2021-11-27 14:30:46 +01:00
Bartosz Taudul
a02575322f
Collect child sample addresses. 2021-11-27 02:03:59 +01:00
Bartosz Taudul
b3562c99fb
Display jump target/source function names. 2021-11-20 14:50:26 +01:00
Bartosz Taudul
7b2ed41179
Push small font to SourceView. 2021-11-20 14:47:13 +01:00
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