Integrated: 8303951: Add asserts before record_method_not_compilable where possible
Emanuel Peter
epeter at openjdk.org
Thu Mar 23 07:47:55 UTC 2023
On Wed, 15 Mar 2023 10:29:32 GMT, Emanuel Peter <epeter at openjdk.org> wrote:
> I went through all `C2` bailouts, and checked if they are justified to bail out of compilation silently. I added asserts everywhere. Those that were hit, I inspected by hand.
>
> Some of them seem to be justified. There I added comments why they are justified. They are cases that we do not want to handle in `C2`, and that are rare enough so that it probably does not matter.
>
> For the following bailouts I did not add an assert, because it may have revealed a bug:
> [JDK-8304328](https://bugs.openjdk.org/browse/JDK-8304328) C2 Bailout "failed spill-split-recycle sanity check" reveals hidden issue with RA
>
> Note:
> [JDK-8303466](https://bugs.openjdk.org/browse/JDK-8303466) C2: COMPILE SKIPPED: malformed control flow - only one IfProj
> That bug bug was the reason for this RFE here. I added the assert for "malformed control flow". After this RFE here, that Bug will run into the assert on debug builds.
>
> I ran `tier1-6` and stress testing. Now running `tier7-9`.
>
> Filed a follow-up RFE to do the same for `BAILOUT` in `C1`: [JDK-8304532](https://bugs.openjdk.org/browse/JDK-8304532).
>
> Note: the philosophy here is rather to have an assert too much that triggers in the future. Then we can re-evaluate and weaken or remove it - or maybe we find a bug that we can fix.
This pull request has now been integrated.
Changeset: af4d5600
Author: Emanuel Peter <epeter at openjdk.org>
URL: https://git.openjdk.org/jdk/commit/af4d5600e37ec6d331e62c5d37491ee97cad5311
Stats: 58 lines in 10 files changed: 52 ins; 0 del; 6 mod
8303951: Add asserts before record_method_not_compilable where possible
Reviewed-by: kvn, thartmann
-------------
PR: https://git.openjdk.org/jdk/pull/13038
More information about the hotspot-compiler-dev
mailing list