RFR: 8300002: Performance regression caused by non-inlined hot methods due to post call noop instructions

Erik Österlund eosterlund at openjdk.org
Thu Jan 12 06:12:18 UTC 2023


On Thu, 12 Jan 2023 02:52:17 GMT, Sergey Kuksenko <skuksenko at openjdk.org> wrote:

> 8300002: Performance regression caused by non-inlined hot methods due to post call noop instructions

src/hotspot/share/opto/bytecodeInfo.cpp line 183:

> 181:     // Not hot.  Check for medium-sized pre-existing nmethod at cold sites.
> 182:     if (callee_method->has_compiled_code() &&
> 183:         callee_method->inline_instructions_size() > inline_small_code_size) {

I do have to wonder if the actual problem is that this method is considered not hot by the InlineFrequenceRatio heuristic above. We are in the else clause and there is a comment saying this isn't hot. But obviously it was. Your approach tweaks the not hot path to still allow inlining, but I do wonder if it's the hot method detection scheme that could need some love. Just a thought...

-------------

PR: https://git.openjdk.org/jdk/pull/11958


More information about the hotspot-dev mailing list