On Thu, 11 Jul 2024 23:22:19 GMT, Vladimir Ivanov <vliva...@openjdk.org> wrote:

>> src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp line 1433:
>> 
>>> 1431: 
>>> 1432:   // Don't check secondary_super_cache
>>> 1433:   if (super_check_offset.is_register()
>> 
>> Do you see any effects from this particular change?
>> 
>> It adds a runtime check on the fast path for all subtype checks 
>> (irrespective of whether it checks primary or secondary super). Moreover, 
>> the very same check is performed after primary super slot is checked.
>> 
>> Unless `_secondary_super_cache` field is removed, unconditionally checking 
>> the slot at `super_check_offset` is benign.
>
> BTW `MacroAssembler::check_klass_subtype_fast_path` deserves a cleanup: 
> `super_check_offset` can be safely turned into `Register` thus eliminating 
> the code guarded by `super_check_offset.is_register() == false`.

> Do you see any effects from this particular change?
> 
> It adds a runtime check on the fast path for all subtype checks (irrespective 
> of whether it checks primary or secondary super). Moreover, the very same 
> check is performed after primary super slot is checked.

OK. I think this was more for testing, but you make sense.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/19989#discussion_r1683178664

Reply via email to