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

duke duke at openjdk.org
Fri Jun 28 16:01:35 UTC 2024


On Wed, 26 Jun 2024 21:14:42 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
> ...
>
> Francisco Ferrari Bihurriet has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Backport 8c5dfa21b3c064a064c17bdc0da05c3c33642cbf
>   
>   Attempt to backport JDK-8205407 in the 8u build system:
>     Summary: [windows, vs<2017] C4800 after 8203197
>         URL: https://bugs.openjdk.org/browse/JDK-8205407

@franferrax 
Your change (at version 590ef755a8402214ed06ea0a2b1910d56bc6d8b7) is now ready to be sponsored by a Committer.

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

PR Comment: https://git.openjdk.org/jdk8u-dev/pull/528#issuecomment-2197228749


More information about the jdk8u-dev mailing list