On Wed, 24 Jul 2024 15:51:26 GMT, Andrew Haley <a...@openjdk.org> wrote:

>>> What happens when users include `klass.hpp`, but not `klass.inline.hpp`? 
>>> How does it affect generated code?
>>> 
>>> I suspect that `Klass::search_secondary_supers()` won't be inlinined in 
>>> such case.
>> 
>> That is true. I can't tell from this exchange whether you think it should. 
>> The same "wont be inlined" fact is also true of everything else in 
>> `klass.inline.hpp`.
>
>> I suspect that Klass::search_secondary_supers() won't be inlinined in such 
>> case.
> 
> That's true, but it's true of every other function in that file. Is it not 
> deliberate?

FYI, somewhat related: AArch64 GCC inlines `lookup_secondary_supers_table()` 
237 times (it's only a few instructions.)
x86-64 GCC, because it doesn't use a popcount intrinsic, decides that 
`lookup_secondary_supers_table()` is too big to be worth inlining in all but 3 
cases. So the right thing happens, I think: where we can profit from fast 
lookups without bloating the runtime, we do.

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

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

Reply via email to