RFR: 8331341: secondary_super_cache does not scale well: C1 and interpreter [v3]

Andrew Haley aph at openjdk.org
Mon Jul 22 14:03:34 UTC 2024


On Thu, 11 Jul 2024 22:53:42 GMT, Vladimir Ivanov <vlivanov at openjdk.org> wrote:

>> src/hotspot/share/oops/instanceKlass.cpp line 1410:
>> 
>>> 1408:     return nullptr;
>>> 1409:   } else if (num_extra_slots == 0) {
>>> 1410:     if (num_extra_slots == 0 && interfaces->length() <= 1) {
>> 
>> Since `secondary_supers` are hashed unconditionally now,  is `interfaces->length() <= 1` check still needed?
>
> Also, `num_extra_slots == 0` check is redundant.

> Since `secondary_supers` are hashed unconditionally now, is `interfaces->length() <= 1` check still needed?

I don't think so, no. Our incoming `transitive_interfaces` is formed by concatenating the interface lists of our superclasses and superinterfaces.

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

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


More information about the core-libs-dev mailing list