RFR: 8288360: CI: ciInstanceKlass::implementor() is not consistent for well-known classes
Vladimir Kozlov
kvn at openjdk.java.net
Tue Jun 14 22:32:37 UTC 2022
On Tue, 14 Jun 2022 17:38:25 GMT, Vladimir Ivanov <vlivanov at openjdk.org> wrote:
> ciInstanceKlass::implementor() doesn't cache the result for well-known interfaces (is_shared() == true). Due to concurrent class loading, compilers can observe a change in reported unique implementor (in the worst case: from having no implementors to having one, then to having many) thus introducing paradoxical situations during a compilation.
>
> What makes it very hard/impossible to trigger the bug is there's only a single well-known interface (java.util.Iterable) present as of now, which gets multiple implementors loaded early during startup.
>
> Testing: hs-tier1 - hs-tier2
Good.
-------------
Marked as reviewed by kvn (Reviewer).
PR: https://git.openjdk.org/jdk19/pull/15
More information about the hotspot-compiler-dev
mailing list