[jdk8u-dev] Integrated: 8262017: C2: assert(n != __null) failed: Bad immediate dominator info.

Francisco Ferrari Bihurriet fferrari at openjdk.org
Fri Jun 28 16:06:28 UTC 2024


On Wed, 26 Jun 2024 16:12:08 GMT, Francisco Ferrari Bihurriet <fferrari at openjdk.org> wrote:

> # [JDK-8262017](https://bugs.openjdk.org/browse/JDK-8262017 "C2: assert(n != __null) failed: Bad immediate dominator info.") backport
> 
> Hi, this is a backport of [JDK-8262017: C2: assert(n != __null) failed: Bad immediate dominator info](https://bugs.openjdk.org/browse/JDK-8262017). As explained in the 11u backport (openjdk/jdk11u-dev#156), this also introduces parts from [JDK-8244504](https://bugs.openjdk.org/browse/JDK-8244504 "C2: refactor counted loop code in preparation for long counted loop").
> 
> This backport is not clean because of the changed paths ([JDK-8187443](https://bugs.openjdk.org/browse/JDK-8187443 "Forest Consolidation: Move files to unified layout")) and the removal of the `Compile* C` parameter from the nodes allocation `new` operator ([JDK-8034812](https://bugs.openjdk.org/browse/JDK-8034812 "remove IDX_INIT macro hack in Node class")). Besides the conflicts, new code in `opto/addnode.cpp` had to be adjusted to introduce the mentioned `Compile* C` parameter.
> 
> Finally, the `opto/movenode.hpp` include in `opto/addnode.cpp` had to be removed. `opto/movenode.hpp` doesn't exist in 8u, and `CMoveLNode` is defined in `opto/connode.hpp` instead, which is already included by `opto/addnode.cpp`.
> 
> Apart from those cosmetic adjustments, the change is not substantially different from openjdk/jdk11u-dev at 293d44f6cf07b05ad5e3a8b0c08b244f1697700d.
> 
> ## Testing
> 
> * `hotspot_tier1` showed no regression with a _Linux_ x86-64 slowdebug build
>     * `hotspot/test/compiler/ciReplay/TestSA.sh` was the only failing test, with and without this PR changes
> * In addition, the new `hotspot/test/compiler/rangechecks/TestRangeCheckLimits.java` is passing
> 
> # [JDK-8205407](https://bugs.openjdk.org/browse/JDK-8205407 "[windows, vs<2017] C4800 after 8203197") backport
> 
> As part of this patch, the following code caused warning [C4800](https://learn.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-3-c4800) in _Windows x86_, treated as error [C2220](https://learn.microsoft.com/en-us/cpp/error-messages/compiler-errors-1/compiler-error-c2220):
> 
> https://github.com/openjdk/jdk8u-dev/blob/590ef755a8402214ed06ea0a2b1910d56bc6d8b7/hotspot/src/share/vm/opto/addnode.cpp#L838
> https://github.com/openjdk/jdk8u-dev/blob/590ef755a8402214ed06ea0a2b1910d56bc6d8b7/hotspot/src/share/vm/opto/addnode.cpp#L889
> 
> Build log:
> 
> 
> ...\opto\addnode.cpp(838) : error C2220: warning treated as error - no 'object' file generated
> ...\opto\addnode.cpp(838) : warning C4800: 'const Type...

This pull request has now been integrated.

Changeset: 385e34d8
Author:    Francisco Ferrari Bihurriet <fferrari at openjdk.org>
Committer: Martin Balao <mbalao at openjdk.org>
URL:       https://git.openjdk.org/jdk8u-dev/commit/385e34d860965a77df355edfd8c1d99af5afe38c
Stats:     312 lines in 5 files changed: 299 ins; 4 del; 9 mod

8262017: C2: assert(n != __null) failed: Bad immediate dominator info.
8205407: [windows, vs<2017] C4800 after 8203197

Reviewed-by: mbalao, roland
Backport-of: 2db9005c07585b580b3ec0889b8b5e3ed0d0ca6a

-------------

PR: https://git.openjdk.org/jdk8u-dev/pull/528


More information about the jdk8u-dev mailing list