Re: [PATCH v2 2/3] perf annotate: Introduce the new source code view

From: Taeung Song
Date: Wed Mar 01 2017 - 10:53:09 EST


Hi, Peter

On 03/02/2017 12:07 AM, Peter Zijlstra wrote:
On Wed, Mar 01, 2017 at 11:56:39PM +0900, Namhyung Kim wrote:

It's a kind of user experience issue. We provide the asm-only and
asm+source annotation, and I think it'd be nice to add source-only
option. And I remember that it was requested some time ago..

Thing is, an optimizing compiler -- that same beast that ensures your
objdump -S output is such a garbled mess -- can generate code that
becomes very hard to relate to the original source code.

I'm really sceptical the source line only view is very useful; maybe if
you build with -O0, but then, if you do that you're not bothered with
performance.


I think there is a fundamental difference between the two points of view.

1) Based on assembly code view, we can show parts of actual source code.
2) Based on source code view, we can show parts of assembly code for a particular source code line.

I think current compilers have some limitations about the optimization.
what they can't optimize is the logic or process.
So, many developers should optimize the logic or process.
And to do that, I think we need to the source code view with overhead.

And I think we can show asm lines for a particular in the source view,
when the user press ENTER key at a source code line.

For example,
If a current line is line 47 and
the user press ENTER key, we can show asm per the source code line.

â46 void pack_knapsack(struct jewelry *jewelry)
â47 {
â push %rbp
â mov %rsp,%rbp
â sub $0x18,%rsp
â mov %rdi,-0x18(%rbp)
â48 /* Case by case pack knapsack following maximum
...

And I think we don't need to only show actual source code.
But we can show assembly code based on source code view.

Thanks,
Taeung