[jdk17] RFR: 8269285: Crash/miscompile in CallGenerator::for_method_handle_inline after JDK-8191998
Igor Veresov
iveresov at openjdk.java.net
Wed Jun 30 03:42:02 UTC 2021
On Tue, 29 Jun 2021 09:01:23 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:
> See the bug report for more details.
>
> I believe the [JDK-8191998](https://bugs.openjdk.java.net/browse/JDK-8191998) change introduced a slight regression, where the speculative type join may empty the type. It would then crash on assert in `fastdebug` builds, or miscompile the null-check to `true` in `release` bits. New test captures both failure modes.
>
> This is not a recent regression, but a regression nevertheless, so I would like to have that fix in JDK 17. Please review carefully, or speak up if you want to move it to JDK 18+ and then backport later.
>
> Additional testing:
> - [x] New test fails without the patch, passes with it
> - [x] Linux x86_64 `fastdebug` `tier1`
Marked as reviewed by iveresov (Reviewer).
Ok, if `AnyNull` is what is reliably returned for interfaces, then `empty()` is essentially equivalent to `is_interface()` in this case. Thanks for the explanation.
-------------
PR: https://git.openjdk.java.net/jdk17/pull/169
More information about the hotspot-compiler-dev
mailing list