-
Notifications
You must be signed in to change notification settings - Fork 257
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
Disassembler inlining #494
base: master
Are you sure you want to change the base?
Conversation
f7968a7
to
33ca598
Compare
|
7d30963
to
e654efd
Compare
If it does what I think it does then: yay. Can you please share what the previous build outputs to be able to compare the results? |
e654efd
to
e60f92b
Compare
00c117d
to
0ca1838
Compare
0ca1838
to
31f8119
Compare
this allows the disassembler to detect inlined functions and hide them to clean up the disassembler
31f8119
to
1bdcc71
Compare
Any idea why this fails on ArchLinux with clang? |
no, seems to only happen on the ci |
4e1b1ad
to
b680ee4
Compare
found it 00000000000012a0 <main>:
main():
/home/lieven/KDAB/hotspot/tests/test-clients/cpp-recursion/main.cpp:19
00000000000012f0 <main>:
std::basic_ios<char, std::char_traits<char> >::widen(char) const:
/opt/hotspot/tests/test-clients/cpp-recursion/main.cpp:19 I used the the first instance of time to rewrite it using libdwarf |
related to #495 |
Would that need a doc update (screenshots, maybe)? |
I'd like to give this a test - can you rebase that, please? Apart from the actual inline view it will be interesting to see how the parsing with libdwarf effects the necessary time to open the disassembly view (while the time currently needed seems to be related to (the use of) Qt #505) |
This will still take some time. We want to move the logic to the Originally posted by @lievenhey in #518 (comment) That sounds very reasonable. If I understand that correctly, this means that perfparser may use libdwarf to do this and more, and then perfparser will be used both for handling the actual "perf.data" (as now) and additionally do "something special" for the disassembly, but not replacing objdump, right? |
Disassembling will still be handled by objdump. We just use libdwarf for additional information. |
@lievenhey Is there a specific reason to keep this as a draft? If not, it would be nice to rebase and mark as "ready to merge" (actually a rebase would be nice in any case). |
Well for one it doesn't work that good and I hadn't much time to work on this. |
this adds a simple detection for inlined code to elide it from the assembly view.
I am not sure if this works correctly so it would be nice if someone has a minimal example to test this.
This currently brakes syntax highlighting and code navigation