[jdk8u-dev] RFR: 8303466: C2: failed: malformed control flow. Limit type made precise with MaxL/MinL
Andrew John Hughes
andrew at openjdk.org
Sat Jun 29 16:34:25 UTC 2024
On Thu, 27 Jun 2024 21:21:10 GMT, Martin Balao <mbalao at openjdk.org> wrote:
> Hi,
>
> I would like to propose a backport of 8303466 [1] to jdk8u. jdk8u can benefit from this fix and having more accurate limit type information.
>
> This pull request contains a backport of commit [8578e12c423ed61618e0b3ef81e5be3d18be1da2](https://github.com/openjdk/jdk11u-dev/commit/8578e12c423ed61618e0b3ef81e5be3d18be1da2) from the [openjdk/jdk11u-dev](https://github.com/openjdk/jdk11u-dev) repository.
>
> This backport depends on [JDK-8262017](https://bugs.openjdk.org/browse/JDK-8262017).
>
> The jdk11u patch does not apply cleanly because of the following:
>
> * hotspot/src/share/vm/opto/addnode.hpp
> * 8u does not have 8212043. Manually applied the change.
>
> * hotspot/src/share/vm/runtime/vmStructs.cpp
> * 8u does not have 8212043. Manually applied the change.
>
> * hotspot/src/share/vm/opto/macro.cpp
> * 8u does not have 8204210. Manually applied the change.
> * 8u does not have 8186027. Manually applied the change.
>
> * hotspot/src/share/vm/opto/loopTransform.cpp
> * 8u does not have 8223142. In addition, 8u does not have 8034812. Manually applied the change.
> * 8u does not have 8182299. Manually applied the change.
>
> In addition, the following changes were made:
>
> * Nodes allocation follows the pattern "new (C) ..." instead of "new ...".
>
> * File locations were adjusted.
>
> * In addnode.cpp, 8u does not have 8284358 so the function "Node::set_req_X(uint i, Node *n, PhaseGVN *gvn)" is not available. Picked this function (declaration and definition) from 8284358.
>
> * In 8u, the jtreg VM prop vm.compiler2.enabled does not exist. C2 will likely be available and if the test were executed without C2, it should be harmless.
>
> No regressions observed in hotspot:tier1.
>
> Thanks,
> Martin.-
>
> --
> [1] - https://bugs.openjdk.org/browse/JDK-8303466
Looks good to me. The change is largely the same as 11u; if we ignore whitespace differences, most of the changes come down to the need for additional casts in 8u. Adding the `set_req_X` helper function here seems fine, without backporting an unrelated fix and the consequential risk.
-------------
Marked as reviewed by andrew (Reviewer).
PR Review: https://git.openjdk.org/jdk8u-dev/pull/529#pullrequestreview-2149709965
More information about the jdk8u-dev
mailing list