Withdrawn: 8288360: CI: ciInstanceKlass::implementor() is not consistent for well-known classes

Vladimir Ivanov vlivanov at openjdk.java.net
Tue Jun 14 17:57:34 UTC 2022


On Mon, 13 Jun 2022 21:18:31 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

This pull request has been closed without being integrated.

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

PR: https://git.openjdk.org/jdk/pull/9147


More information about the hotspot-compiler-dev mailing list