[jdk11u-dev] RFR: 8303466: C2: failed: malformed control flow. Limit type made precise with MaxL/MinL
Martin Balao
mbalao at openjdk.org
Tue Jun 25 15:26:29 UTC 2024
Hi,
I would like to propose a backport of 8303466 [1] to jdk11u. jdk11u can benefit from this fix and having more accurate limit type information.
The jdk17u patch does not apply cleanly because of the following:
* src/hotspot/share/opto/addnode.hpp
* 11u does not have 8223347. Manually backported the MaxLNode/MinLNode class.
* src/hotspot/share/opto/macro.cpp
* The 11u backport of 8275330 does not add n->Opcode() == Op_Opaque4 to the assertion. Manually applied the change.
* src/hotspot/share/opto/convertnode.cpp
* 11u does not have 8256730 so the context is different. Manually applied the change.
* src/hotspot/share/opto/loopTransform.cpp
* 11u does not have 8301074 (replace of NULL with nullptr) so the change does not apply cleanly. Manually applied the change.
* 11u does not have 8273115, so the context is different.
* The 11u backport of 8262017 has "set_subtree_ctrl(inner_result_long);" instead of "set_subtree_ctrl(inner_result_long, false);" so the context is different.
In addition, the following changes were made:
* C++11 lambda functions is_clamp and is_sub_con replaced with static equivalents.
* nullptr replaced with NULL
No regressions observed in hotspot:tier1.
Thanks,
Martin.-
--
[1] - https://bugs.openjdk.org/browse/JDK-8303466
-------------
Commit messages:
- Backport cc894d849aa5f730d5a806acfc7a237cf5170af1
Changes: https://git.openjdk.org/jdk11u-dev/pull/2814/files
Webrev: https://webrevs.openjdk.org/?repo=jdk11u-dev&pr=2814&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8303466
Stats: 383 lines in 9 files changed: 321 ins; 49 del; 13 mod
Patch: https://git.openjdk.org/jdk11u-dev/pull/2814.diff
Fetch: git fetch https://git.openjdk.org/jdk11u-dev.git pull/2814/head:pull/2814
PR: https://git.openjdk.org/jdk11u-dev/pull/2814
More information about the jdk-updates-dev
mailing list