-
Notifications
You must be signed in to change notification settings - Fork 256
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Disable disassembly of inline functions #568
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
can we get a test too please? :)
|
a57218e
to
45192e2
Compare
Cool, can you also add the combined mode, that shows system code / user code / inlined code? I think that is going to be very useful |
OK, you can rebase, I fixed the issue with the duplicate inline frame now |
I also had to remove the costBrush since:
|
a042fad
to
ce97bfa
Compare
|
b95fdec
to
1cd8675
Compare
@lievenhey This seems to still need an automated test of some sort, right? |
1cd8675
to
b430e0d
Compare
Hey @lievenhey - I revamped the colorization of inline frames in the flamegraph, and include the info now also in tooltips. Can you give it another shot and see if that works for you too? From my side, this is otherwise fine now. |
This sounds good to me, but it looks like adjustment to README / doc pngs are "missing". |
Note @milianw: at least from the PR state it still has "change requested" from you. |
@GitMensch please open a new issue for whatever you are seeing there, and reproduce the issue in a way we can replicate it ourselves. As is there's not enough information for me to give you an answer to your question. |
Hm, that likely takes a while... short summary: the disassembly of inline functions has NO cost at all with this version, while it should have the cycles incl. set to the one that is visible in the Caller/Callee tab. Note: also stumbled over #577 again (a relative new, but really bad bug). |
How do you get disassembly of an inline function to begin with? that shouldn't be possible anymore after all?! |
as noted: the disassembly of one function included the disassembly for a good part of the source, including (one of the generations of) the inline function. Showing the disassembly or not here isn't the main point I have with the effect of this PR, it is that the inlined function has no cost shown in the source code window anymore (you only see that by the caller/callee tab)... |
the inline symbol shouldn't even show up in the disassembly view at all, thus it not showing any cost there is to be expected, no? after all, we cannot open the disassembly for that anymore... I really don't follow what the issue is here, there seems to be a fundamental misunderstanding between us on how things should be working... |
thanks, I suck at choosing color schemes. |
I try to explain what I've thought to understand and what I think should be the UI for that.
Running If we can deduce the place of that disassembly to be part of the "calling" place (where it is inlined) then we can directly attribute the costs there. If we can't do it, then we still have the "original" place (source reference and/or function name) and on the other hand we have the costs in the function of "calling" it (this is something that can be seen in the caller/callee tab, also with this PR applied). This leaves the question: Is there a way to deduce the "calling" source reference for functions that are inlined? If we yes, then we should attribute the total costs to that place. |
I created an issue for this #586 |
02d7a48
to
5121c88
Compare
ed993ad
to
c7fd2ff
Compare
c7fd2ff
to
1fbc29b
Compare
It is not possible to disassemble a inlined functions. This patch disables the disassembly entry in the context menu for these functions. fixes: #548
Give them a slightly darker/lighter background color but retain a border with the normal background color.
337b958
to
4e51442
Compare
Currently this doesn't work correctly. In the flamegraph the top entry doesn't has the inline flag set.