RFR: 8300002: Performance regression caused by non-inlined hot methods due to post call noop instructions [v5]
Tobias Hartmann
thartmann at openjdk.org
Mon Jan 16 07:35:11 UTC 2023
On Fri, 13 Jan 2023 19:16:04 GMT, Sergey Kuksenko <skuksenko at openjdk.org> wrote:
> I thought about it.
The issue is naming. "instructions_size" says nothing about the fact that nop instructions were excluded.
On the other side using "inline_instructions_size" in ciMethod::has_compiled_code() looks weird.
I am open to any suggestions.
I think this is just a matter of how we define "instruction size". We could simply define it as not including oops. I would prefer to rename the existing usages to `inline_instructions_size` though. `ciMethod::has_compiled_code()` is only used in the context of "should (not) inline", we could rename it as well.
I see that Vladimir suggested the same. @vnkozlov, regarding
> You missed ciReplay change to record _inline_instructions_size and restore it. That is what is used in inlining decision in your changes.
We currently don't record/restore `_instructions_size` in replay compilation either, probably because inlining decisions are enforced explicitly:
https://github.com/openjdk/jdk/blob/9f24a6f43c6a5e1fa92275e0a87af4f1f0603ba3/src/hotspot/share/ci/ciReplay.cpp#L1531-L1532
But I agree that it's better to be consistent here.
-------------
PR: https://git.openjdk.org/jdk/pull/11958
More information about the hotspot-dev
mailing list