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

Sergey Kuksenko skuksenko at openjdk.org
Tue Jan 17 18:10:45 UTC 2023


On Mon, 16 Jan 2023 19:07:54 GMT, Igor Veresov <iveresov at openjdk.org> wrote:

>> 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.

Let's make it more clear. Should I remove friend class declaration or not?

> 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?

I'd rather prefer to have smaller changes to the current code.
Now we use ciMethod::instructions_size(), let's continue to this (even it was renamed to ciMethod::inline_instructions_size())

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

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


More information about the hotspot-dev mailing list