8235870: C2 crashes in IdealLoopTree::est_loop_flow_merge_sz()

Reviewed-by: thartmann
This commit is contained in:
Patric Hedlin 2020-01-13 11:26:44 +01:00
parent ea152dcd9b
commit 9549cd2877

View File

@ -2505,13 +2505,14 @@ uint IdealLoopTree::est_loop_flow_merge_sz() const {
for (uint k = 0; k < outcnt; k++) {
Node* out = node->raw_out(k);
if (out == NULL) continue;
if (out->is_CFG()) {
if (!is_member(_phase->get_loop(out))) {
ctrl_edge_out_cnt++;
}
} else {
} else if (_phase->has_ctrl(out)) {
Node* ctrl = _phase->get_ctrl(out);
assert(ctrl != NULL, "must be");
assert(ctrl->is_CFG(), "must be");
if (!is_member(_phase->get_loop(ctrl))) {
data_edge_out_cnt++;