On Wed, 17 Jul 2024 17:13:49 GMT, Andrew Haley <a...@openjdk.org> wrote:

>> Another observation while browsing the code: `_secondary_supers_bitmap` 
>> would be a better name. (Same considerations apply to `_hash_slot`.)
>
> This is because the C++ runtime does secondary super cache lookups even 
> before the bitmap has been calculated and the hash table sorted. In this case 
> the bitmap is zero, so teh search thinks there are no secondary supers. 
> Setting _bitmap to SECONDARY_SUPERS_BITMAP_FULL forces a linear search.
> 
> I guess there might be a better way to do this. Perhaps a comment is needed?
> 
> I agree about `_secondary_supers_bitmap` name.

Now it starts to sound concerning... `Klass::set_secondary_supers()` 
initializes both `_secondary_supers` and `_bitmap` which implies that 
`Klass::is_subtype_of()` may be called on not yet initialized Klass. It that's 
the case, it does look like a bug on its own. How is it expected to work when 
`_secondary_supers` hasn't been set yet?

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

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

Reply via email to