RFR: 8279822: CI: Constant pool entries in error state are not supported [v2]
Vladimir Ivanov
vlivanov at openjdk.java.net
Wed Feb 9 14:00:23 UTC 2022
On Tue, 8 Feb 2022 14:55:53 GMT, Vladimir Ivanov <vlivanov at openjdk.org> wrote:
>> Compiler interface doesn't expect to see constant pool entries in error state and crashes when those are encountered.
>>
>> JDK-8262377 improved handling of class constants in error state (`JVM_CONSTANT_UnresolvedClassInError`), but there were more cases left unnoticed (`CONSTANT_MethodHandle`, `CONSTANT_MethodType`, and `CONSTANT_Dynamic`).
>>
>> Proposed fix introduces proper support in CI of unresolved constants in error state and improves handling of such cases in C1/C2.
>>
>> Also, for `CONSTANT_MethodHandle` it turned out that some of `LinkageError`s don't transition relevant CP entry into error state (leaving it in unresolved state forever). The fix addresses it.
>>
>> Testing: hs-tier1 - hs-tier6
>
> Vladimir Ivanov has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains three additional commits since the last revision:
>
> - fatal -> assert
> - Merge branch 'master' into 8279822.cpe_in_error
> - Compiler support of CP entries in error state
Thanks for the reviews, Vladimir and Tobias.
-------------
PR: https://git.openjdk.java.net/jdk/pull/7314
More information about the hotspot-compiler-dev
mailing list