[graalvm-dev] Debugging perf report not resolving non-inlined methods

Galder Zamarreno galder at redhat.com
Fri Aug 21 05:29:09 PDT 2020


Hi,

I'm trying to combine the debug symbols in GraalVM CE together with perf to
get profiling information.

I've noticed that when looking at perf report outputs of native
executables, non-inline methods are not resolved (addresses appear instead,
0x...), see [1]. With debug info and sources cache, I'm expecting all
invocations to be resolved to their actual methods. I'm unsure what's the
cause of this.

To try to understand the issue better. I'm trying to replicate this outside
of Quarkus a simple Java example, but no matter what I do, all the methods
seem to get inlined (as in, perf report shows them as inlined), see [2].

I've tried to mark all methods in my example with @NeverInline but that
doesn't seem to have any effect. Any idea why this annotation wouldn't be
having an impact here?

Any other ideas? For example, what kind of code could be written to avoid
inlining.

Galder

[1] https://urldefense.com/v3/__https://gist.github.com/galderz/5935786079ee019dc09adb28edaeca21__;!!GqivPVa7Brio!Izy921TKJBKSLIEFYGRKV8X_ovkknOhjNJXaLkC1uGLukmCHwO_1cK8dGZI0TnbayQM8hw$ 
[2] https://urldefense.com/v3/__https://gist.github.com/galderz/95213331252f7f9ae35bfca2ae3dfd6b__;!!GqivPVa7Brio!Izy921TKJBKSLIEFYGRKV8X_ovkknOhjNJXaLkC1uGLukmCHwO_1cK8dGZI0TnZf6LtJxw$ 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://oss.oracle.com/pipermail/graalvm-dev/attachments/20200821/44998cfe/attachment.html 


More information about the GraalVM-Dev mailing list