RFR: 8180450: secondary_super_cache does not scale well [v9]
Andrew Haley
aph at openjdk.org
Thu Apr 11 14:27:44 UTC 2024
On Wed, 10 Apr 2024 19:04:27 GMT, Vladimir Ivanov <vlivanov at openjdk.org> wrote:
> I'm happy with the current state of the patch. Thanks a lot for incorporating the changes I proposed. I find it easier to reason about the implementation now and hope it'll help others navigating in the code.
>
> > ... new lookup code is substantially larger than before, particularly for x86, and this might in some cases change inlining behaviour and cause regressions. To ameliorate that I've added another option, -XX:-InlineSecondarySupersTest, which generates stubs for the search code. While that does solve the code expansion problem, the additional call&return overhead doubles the time for each lookup, so I'm reluctant to recommend it for general use.
>
> Alternatively, C2 inlining heuristics can be taught to discount inlined part of secondary supers lookup in generated code. It was the remediation chosen [1] for regressions introduced by post-call nops (part of Loom support).
Oh, cool. It feels a bit like cheating, although it does make sense. It's probably not right for backports, though.
> I checked that CDS support works fine with the latest PR.
OK, good
> I took a look at transitive interface sharing and it turned out to be a bit more complicated than a SA-specific test issue.
OK, thanks. I'll leave that one for now.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/18309#issuecomment-2049817606
More information about the hotspot-dev
mailing list