RFR: 8300002: Performance regression caused by non-inlined hot methods due to post call noop instructions [v5]
Igor Veresov
iveresov at openjdk.org
Mon Jan 16 19:16:15 UTC 2023
On Mon, 16 Jan 2023 02:59:32 GMT, Sergey Kuksenko <skuksenko at openjdk.org> wrote:
>> Post call nop instructions increase the size of methods, which leads to different inline decisions and performance regression.
>> Restore inline behavior by excluding post call nop instructions sizes from inline heuristics.
>
> Sergey Kuksenko has updated the pull request incrementally with one additional commit since the last revision:
>
> remove unused fields
src/hotspot/share/asm/assembler.hpp line 257:
> 255: }
> 256: };
> 257: friend class InlineSkippedInstructionsCounter;
Technically, in C++11 this is not necessary. Nested classes are automatically friends with the outer class.
src/hotspot/share/ci/ciMethod.cpp line 1127:
> 1125: CompiledMethod* code = get_Method()->code();
> 1126: if (code != NULL && (code->comp_level() == CompLevel_full_optimization)) {
> 1127: int isize = code->insts_end() - code->verified_entry_point() - code->skipped_instructions_size();
FYI, there is `CompiledMethod` has `insts_size()` that returns the code size. May be use it?
-------------
PR: https://git.openjdk.org/jdk/pull/11958
More information about the hotspot-dev
mailing list