I applied this one, no unnecessary parsing of cpuid done at each
jump->target arrow rendering, much better, thanks!
One thing for a follow up patch:
We have this when the cursor is at a jump instruction:
â âââtest %ecx,%ecx
-> â âââje 714cf
â â mov LINES+0xb40,%edx
â â test %edx,%edx
â ââ je 71580
â714cf:âââmov LINES+0x10c8,%eax
But if we go up a line, to that "test" instruction, we get:
-> â test %ecx,%ecx
â â je 714cf
â mov LINES+0xb40,%edx
â test %edx,%edx
â â je 71580
â714cf: mov LINES+0x10c8,%eax
I suggest that this be changed to:
-> â ââtest %ecx,%ecx
â â je 714cf
â mov LINES+0xb40,%edx
â test %edx,%edx
â â je 71580
â714cf: mov LINES+0x10c8,%eax
I.e. even before going to the jump instruction line with the cursor, we
would see the fused instructions.
To do that perhaps we should improve annotate_browser__draw_current_jump
to improve that part that looks for is_valid_jump() to consider
instructions that could be fused with jumps for the machine where the
perf data came from, etc.
But the current situation is better already, thanks for your work,
applied!
- Arnaldo