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

Christian Hagedorn chagedorn at openjdk.java.net
Tue Jun 15 07:31:24 UTC 2021


On Mon, 14 Jun 2021 11:37:39 GMT, Roland Westrelin <roland at openjdk.org> wrote:

>> Christian Hagedorn has updated the pull request incrementally with two additional commits since the last revision:
>> 
>>  - New fix
>>  - Revert fix
>
> src/hotspot/share/opto/loopTransform.cpp line 2353:
> 
>> 2351:   Node* bol = new BoolNode(cmp, is_positive_stride ? BoolTest::lt : BoolTest::gt);
>> 2352:   register_new_node(bol, pre_ctrl);
>> 2353:   Node* inner_result_long = new CMoveLNode(bol, limit, _igvn.longcon(is_positive_stride ? min_jint : max_jint), TypeLong::LONG);
> 
> Could any of that code take advantage of MaxNode::signed_max()/signed_min?

I think we can replace the first one with it. But as I think we need to keep the second one as it is as it directly uses `CMovI`.

> src/hotspot/share/opto/loopTransform.cpp line 2368:
> 
>> 2366:   limit = new CMoveINode(bol, old_limit, inner_result_int, TypeInt::INT);
>> 2367:   register_new_node(limit, pre_ctrl);
>> 2368:   C->print_method(PHASE_ADD_UNSAFE_BARRIER, 3);
> 
> Does that belong here?

Removed, was a leftover from debugging

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

PR: https://git.openjdk.java.net/jdk/pull/4362


More information about the hotspot-compiler-dev mailing list