Skip to content

JDK inline info not accurate in all cases #81

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

Closed
jrudolph opened this issue Feb 28, 2019 · 1 comment
Closed

JDK inline info not accurate in all cases #81

jrudolph opened this issue Feb 28, 2019 · 1 comment

Comments

@jrudolph
Copy link
Member

For some methods there can be some chunks of code for which proper inline information seems to be missing (compared to PrintAssembly output).

I don't think there can be done anything about that realistically inside of perf-map-agent but if we find some clues why that would be the case it could be reported to openjdk (maybe it is but I couldn't find it).

For reference, here are the code locations where this info is gathered:

Through the agent/JVMTI interface:

https://github.com/AdoptOpenJDK/openjdk-jdk11/blob/19fb8f93c59dfd791f62d41f332db9e306bc1422/src/hotspot/share/prims/jvmtiExport.cpp#L2093

In contrast, for PrintAssembly:

From here:

https://github.com/AdoptOpenJDK/openjdk-jdk11/blob/3e78ed84f13da94b98f6365935b2192cf0ac2ee0/src/hotspot/share/compiler/disassembler.cpp#L359

to finally:

https://github.com/AdoptOpenJDK/openjdk-jdk11/blob/3e78ed84f13da94b98f6365935b2192cf0ac2ee0/src/hotspot/share/code/nmethod.cpp#L2652

From my quick investigation, the issue might be the way that scopes_pcs_begin reports interesting (= scoped) code regions, in contrast to what scopes are reported if you consider every single PC of an nmethod.

@jrudolph
Copy link
Member Author

I refiled my #25. Every other year, I guess...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant