comparison src/hotspot/share/opto/split_if.cpp @ 48347:235a18d659fc

8191153: assert(u_ctrl != blk1 && u_ctrl != blk2) failed: won't converge Summary: relax assert Reviewed-by: kvn
author roland
date Mon, 27 Nov 2017 10:44:19 -0800
parents 1bc021ddeae0
children 844bf1deff1a
comparison
equal deleted inserted replaced
1:f6e9a17ade1f 2:fa268fabf167
167 // We might see an Opaque1 from a loop limit check here 167 // We might see an Opaque1 from a loop limit check here
168 assert(u->is_If() || u->is_CMove() || u->Opcode() == Op_Opaque1, "unexpected node type"); 168 assert(u->is_If() || u->is_CMove() || u->Opcode() == Op_Opaque1, "unexpected node type");
169 assert(u->in(1) == bol, ""); 169 assert(u->in(1) == bol, "");
170 // Get control block of either the CMove or the If input 170 // Get control block of either the CMove or the If input
171 Node *u_ctrl = u->is_If() ? u->in(0) : get_ctrl(u); 171 Node *u_ctrl = u->is_If() ? u->in(0) : get_ctrl(u);
172 assert(u_ctrl != blk1 && u_ctrl != blk2, "won't converge"); 172 assert((u_ctrl != blk1 && u_ctrl != blk2) || u->is_CMove(), "won't converge");
173 Node *x = bol->clone(); 173 Node *x = bol->clone();
174 register_new_node(x, u_ctrl); 174 register_new_node(x, u_ctrl);
175 _igvn.replace_input_of(u, 1, x); 175 _igvn.replace_input_of(u, 1, x);
176 --j; 176 --j;
177 } 177 }