Dmitry Ivanov
8f509dd41a
Make TracySourceView.cpp build with somewhat old clang
...
This was the only issue preventing build on macOS High Sierra with whatever version of clang it has.
2020-05-11 16:23:50 +02:00
Bartosz Taudul
dafecf2a19
Allow enumerating asm lines from a given base instruction.
2020-05-11 13:35:49 +02:00
Bartosz Taudul
50c66174dd
Add ability to show callstack to an asm line.
2020-05-10 16:56:38 +02:00
Bartosz Taudul
dee808dd1b
Display jump labels in the UI.
2020-05-09 15:14:33 +02:00
Bartosz Taudul
2543bb5e63
Shorter jump labels.
2020-05-09 15:14:25 +02:00
Bartosz Taudul
0de39a1d33
Construct location table during disassembly.
2020-05-09 14:58:06 +02:00
Bartosz Taudul
8cbd209ede
Display number of selected lines.
2020-05-09 13:53:11 +02:00
Bartosz Taudul
8caf6b02c6
Allow switching between Intel and AT&T assembly syntax.
2020-05-09 12:58:09 +02:00
Bartosz Taudul
ad4387a0c0
Implement saving disassembly to a file.
2020-05-09 02:37:18 +02:00
Bartosz Taudul
2ca6b6f2fe
Implement display of grouped instruction pointer statistics.
2020-05-07 02:33:37 +02:00
Bartosz Taudul
15454d2253
Select microarchitecture basing on cpuid.
2020-05-07 00:53:31 +02:00
Bartosz Taudul
e7e3d1105c
Register usage is only available in capstone 4.x.
2020-05-02 03:09:16 +02:00
Bartosz Taudul
2e75990b6c
Fix wrong indent.
2020-05-02 02:34:15 +02:00
Bartosz Taudul
e132849fe2
Don't highlight lines with no dependencies.
2020-05-02 02:34:15 +02:00
Bartosz Taudul
95c9259193
Draw register dependency decorations on scroll bar.
2020-05-02 02:34:15 +02:00
Bartosz Taudul
50a5cce985
Reduce search range.
2020-05-02 02:34:15 +02:00
Bartosz Taudul
0fdb5e6592
Calculate register dependency data.
2020-05-02 02:34:15 +02:00
Bartosz Taudul
93f255e95b
Invalidate asm line selection when disassembly is performed.
2020-05-02 02:34:15 +02:00
Bartosz Taudul
654dc2b901
Detect conditional jumps.
2020-05-02 02:34:15 +02:00
Bartosz Taudul
4390aa1015
Print register data in asm lines.
2020-05-01 22:39:54 +02:00
Bartosz Taudul
f4b06ed1fc
Register line selection.
2020-05-01 20:35:09 +02:00
Bartosz Taudul
8b2b2f650f
Add space for register data in each asm line.
2020-05-01 20:35:09 +02:00
Bartosz Taudul
bb4b08e8cf
Don't display operands, if none.
2020-05-01 16:15:33 +02:00
Bartosz Taudul
47b8f052bd
Include flags register.
2020-05-01 16:14:27 +02:00
Bartosz Taudul
611bfe49df
Display list of read and write registers.
2020-05-01 13:20:19 +02:00
Bartosz Taudul
8014fce6e1
Store list of read and write registers for each asm instruction.
2020-05-01 13:01:47 +02:00
Bartosz Taudul
38116b88a5
Create x86 common register mapping table.
2020-05-01 13:01:47 +02:00
Bartosz Taudul
2175fa6701
Shorten labels.
2020-04-27 19:21:32 +02:00
Bartosz Taudul
83d6566020
Optional visualization of uarch latency.
2020-04-27 19:21:32 +02:00
Bartosz Taudul
d6e633edd0
Fix typo.
2020-04-27 16:10:43 +02:00
Bartosz Taudul
adc60bf394
Separate uarch data retrieval from tooltip display.
2020-04-27 15:31:32 +02:00
Bartosz Taudul
abd00e28b8
Hackish support for LEA variants.
2020-04-27 00:59:49 +02:00
Bartosz Taudul
70605fc8ed
Workaround issues with operand width mismatch.
2020-04-27 00:59:49 +02:00
Bartosz Taudul
5da60b53d0
Add micro architecture tooltips.
2020-04-27 00:59:49 +02:00
Bartosz Taudul
f43755625c
Add uarch selection UI.
2020-04-26 15:00:40 +02:00
Bartosz Taudul
6266d482ae
Be explicit about displaying machine code.
2020-04-26 14:51:58 +02:00
Bartosz Taudul
dba594a857
Store CPU architecture.
2020-04-26 14:23:16 +02:00
Bartosz Taudul
5ae2c415b7
Draw a line indicating zeroth column of source code.
2020-04-25 13:52:21 +02:00
Bartosz Taudul
6b831173e4
Don't display asm counts if no asm available.
2020-04-25 13:51:58 +02:00
Bartosz Taudul
368caddd00
Separate coloring for types and special values.
2020-04-25 01:01:10 +02:00
Bartosz Taudul
51659ed123
Enable syntax highlighting.
2020-04-25 00:21:15 +02:00
Bartosz Taudul
3e583b1373
Add C++ tokenizer.
2020-04-25 00:21:15 +02:00
Bartosz Taudul
c87c464f23
Use proper symbol address.
2020-04-24 16:16:53 +02:00
Bartosz Taudul
9a77a59cb2
Display sample percentage columns only if there's data.
2020-04-24 00:49:38 +02:00
Bartosz Taudul
e48095062b
Allow displaying machine code bytes in disassembly.
2020-04-19 16:07:24 +02:00
Bartosz Taudul
afb9bdce86
Store instruction lengths.
2020-04-19 16:07:24 +02:00
Bartosz Taudul
421f0895b7
Filter invalid jumps.
2020-04-19 16:07:24 +02:00
Bartosz Taudul
ea00efa857
Display disassembly failure notification.
2020-04-19 16:07:24 +02:00
Bartosz Taudul
b157d4c161
Detect disassembly failures.
2020-04-19 14:40:36 +02:00
Bartosz Taudul
c78e11872c
Fix jump arrow mouse hover detection.
2020-04-19 14:28:59 +02:00
Bartosz Taudul
1f3b6d01ab
Cosmetics.
2020-04-19 14:10:26 +02:00
Bartosz Taudul
7a6bc6f554
Substitute source file names in source view.
2020-04-17 19:28:39 +02:00
Bartosz Taudul
01d7fefe52
Perform source file name substitution.
2020-04-17 19:28:39 +02:00
Bartosz Taudul
b937ad101f
Fix handling of ImGui ID stack.
2020-04-17 19:28:39 +02:00
Bartosz Taudul
c79c052528
Display percentage numbers of sample composition times.
2020-04-17 19:28:38 +02:00
Bartosz Taudul
55f582faaf
Use correct print format specifier.
2020-04-14 02:22:47 +02:00
Bartosz Taudul
dd0fb49098
Fix typo.
2020-04-14 02:22:47 +02:00
Bartosz Taudul
5233f8d4ad
Mark source lines which generated assembly.
2020-04-13 17:47:41 +02:00
Bartosz Taudul
a074d18dfa
Don't display source files, if none available.
2020-04-12 23:26:02 +02:00
Bartosz Taudul
ef56c7fa7c
Display source files time composition in selected function/symbol.
2020-04-12 17:08:58 +02:00
Bartosz Taudul
078014826b
Fix detection of hovering over source lines.
2020-04-12 16:21:03 +02:00
Bartosz Taudul
0794cf56ff
Sort inline functions list by time spent in function.
2020-04-12 16:13:39 +02:00
Bartosz Taudul
a0f7cb41c3
Merge building inline symbol list with stats collection.
2020-04-12 16:11:24 +02:00
Bartosz Taudul
de18dd46b6
Don't build inline symbols list, if not needed.
2020-04-12 16:05:49 +02:00
Bartosz Taudul
633902cce5
Display inline functions time composition in symbol.
2020-04-12 16:05:01 +02:00
Bartosz Taudul
58cf97ef5d
Display wall time in addition to sample counts.
2020-04-11 22:14:56 +02:00
Bartosz Taudul
6c76c8098b
Draw hotness markers next to sample percentage counts.
2020-04-11 01:59:15 +02:00
Bartosz Taudul
2c11418d33
Calculate max sample counts during ip map creation.
2020-04-11 01:34:44 +02:00
Bartosz Taudul
5bc01124c2
Draw jump range and target on scroll bar, when highlighted.
2020-04-10 23:31:25 +02:00
Bartosz Taudul
ca66dc9ba0
More code deduplication.
2020-04-10 23:13:51 +02:00
Bartosz Taudul
ac37898331
Go to white-hot color for ip count over max.
2020-04-10 23:10:26 +02:00
Bartosz Taudul
126a587aa3
Less code duplication.
2020-04-10 23:07:52 +02:00
Bartosz Taudul
61828070c5
Display tooltip for sample percentage.
2020-04-10 23:03:47 +02:00
Bartosz Taudul
895e06d778
Draw asm line hotness.
2020-04-10 17:27:57 +02:00
Bartosz Taudul
f6400880b0
Scroll bar decorations for asm lines.
2020-04-10 17:27:57 +02:00
Bartosz Taudul
bcfd32e49f
Decorate source scroll bar with line hotness.
2020-04-10 17:27:57 +02:00
Bartosz Taudul
e51844eba3
Decorate source scroll bar with selected and highlighted line.
2020-04-10 16:56:56 +02:00
Bartosz Taudul
a6c0ac4273
Tighten assembly counts in source view.
2020-04-10 00:40:31 +02:00
Bartosz Taudul
14ec7ea6cd
Tighten line numbers in source view.
2020-04-10 00:37:46 +02:00
Bartosz Taudul
497e73182a
Ditto for source navigation.
2020-04-09 23:28:51 +02:00
Bartosz Taudul
072fed288a
Use left and right mouse buttons for asm navigation.
...
Left click on source line just selects the line and the corresponding
asm lines.
Right click does the above and focuses asm view on the first selected
line.
2020-04-09 23:12:17 +02:00
Bartosz Taudul
47d56f6259
Proper scaling of instruction pointer counts.
2020-04-09 22:52:44 +02:00
Bartosz Taudul
9d2c03bc5b
Allow showing sample data for whole symbol.
2020-04-09 22:23:57 +02:00
Bartosz Taudul
a2385a8b24
Use correct address range.
2020-04-09 22:21:21 +02:00
Bartosz Taudul
0e1c9e2cd1
Highlight source line corresponding to hovered asm line.
2020-04-09 22:02:06 +02:00
Bartosz Taudul
0791871955
Highlight asm lines for hovered source line.
2020-04-09 21:57:28 +02:00
Bartosz Taudul
a339d397ce
Don't select addresses outside symbol.
2020-04-09 14:10:07 +02:00
Bartosz Taudul
241f59b59f
Sprinkle some icons.
2020-04-09 02:33:02 +02:00
Bartosz Taudul
554366ad9f
Search for address within current symbol.
2020-04-09 02:12:49 +02:00
Bartosz Taudul
d2ebc58be3
Set sensible combo box heights.
2020-04-09 02:09:54 +02:00
Bartosz Taudul
0f42dc2e4c
Fix source-less sample count calculations.
2020-04-09 02:04:22 +02:00
Bartosz Taudul
3177865fc2
Follow jump by clicking on jump arrows.
2020-04-09 02:02:06 +02:00
Bartosz Taudul
a715df6338
Tighten assembly source location display.
2020-04-09 01:52:22 +02:00
Bartosz Taudul
6dd765c101
Tighten mnemonic display.
2020-04-09 01:45:38 +02:00
Bartosz Taudul
bae08c27c8
Tighter assembly address display.
2020-04-09 01:31:27 +02:00
Bartosz Taudul
643c0867ed
Add jump arrows tooltip.
2020-04-09 01:09:57 +02:00
Bartosz Taudul
2cd789662b
Handle source-less asm lines selection.
2020-04-08 23:59:21 +02:00
Bartosz Taudul
08c58fe8e3
Separate asm lines selection.
2020-04-08 23:59:10 +02:00
Bartosz Taudul
25346c7a55
Disable movement in source view sub-children.
2020-04-08 23:32:36 +02:00
Bartosz Taudul
450229f5e4
Only change assembly target line when necessary.
2020-04-08 23:30:42 +02:00