On Thu, 18 Jul 2024 16:40:47 GMT, Andrew Haley <[email protected]> wrote:
>> src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp line 1040:
>>
>>> 1038:
>>> 1039: // Secondary subtype checking
>>> 1040: void lookup_secondary_supers_table(Register sub_klass,
>>
>> While browsing the code, I noticed that it's far from evident at call sites
>> which overload is used (especially with so many arguments). Does it make
>> sense to avoid method overloads here and use distinct method names instead?
>
> So I confess: this is surely true, but I failed to think of a name for the
> known- and unknown-at-compile-time versions. maybe
> `check_const_klass_subtype_slow_path_table` and
> `check_var_klass_subtype_slow_path_table` ?
Another idea: `lookup_secondary_supers_table_var` vs
`lookup_secondary_supers_table_const`.
Or `lookup_secondary_supers_table_super_var` vs
`lookup_secondary_supers_table_super_const`.
>> src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp line 1981:
>>
>>> 1979: __ load_klass(r19_klass, copied_oop);// query the object klass
>>> 1980:
>>> 1981: BLOCK_COMMENT("type_check:");
>>
>> Why don't you move it inside `generate_type_check`?
>
> Sorry, what? Do you mean move just this block comment?
No, the whole piece with `if (UseSecondarySupersTable) { ... } else { ... }`
included.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/19989#discussion_r1683349665
PR Review Comment: https://git.openjdk.org/jdk/pull/19989#discussion_r1683348239