Skip to content

Commit 527628e

Browse files
author
Rahul Raghavan
committed
8238812: assert(false) failed: bad AD file
1 parent b5ce8af commit 527628e

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

src/hotspot/share/opto/phaseX.cpp

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1552,6 +1552,18 @@ void PhaseIterGVN::add_users_to_worklist( Node *n ) {
15521552
}
15531553
}
15541554
if (use_op == Op_CmpI) {
1555+
// Put If on worklist to enable fold_compares optimization (see IfNode::cmpi_folds)
1556+
if (use->outcnt() > 0) {
1557+
for (uint i = 0; i < use->outcnt(); i++) {
1558+
Node* bol = use->raw_out(i);
1559+
if (bol->outcnt() > 0) {
1560+
Node* iff = bol->raw_out(0);
1561+
if (iff->Opcode() == Op_If && iff->outcnt() == 2) {
1562+
add_users_to_worklist0(bol);
1563+
}
1564+
}
1565+
}
1566+
}
15551567
Node* phi = countedloop_phi_from_cmp((CmpINode*)use, n);
15561568
if (phi != NULL) {
15571569
// If an opaque node feeds into the limit condition of a

0 commit comments

Comments
 (0)