diff --git a/src/share/vm/opto/phaseX.cpp b/src/share/vm/opto/phaseX.cpp index ec37d46a0a5b34e3ef1521bfe66c893b0e5581d0..758359d7c4ad1af565e48b9186ab223b9e982490 100644 --- a/src/share/vm/opto/phaseX.cpp +++ b/src/share/vm/opto/phaseX.cpp @@ -1379,7 +1379,7 @@ void PhaseIterGVN::add_users_to_worklist( Node *n ) { Node* castii = in1->raw_out(i); if (castii->in(0) != NULL && castii->in(0)->in(0) != NULL && castii->in(0)->in(0)->is_If()) { Node* ifnode = castii->in(0)->in(0); - if (ifnode->in(1) != NULL && ifnode->in(1)->in(1) == use) { + if (ifnode->in(1) != NULL && ifnode->in(1)->is_Bool() && ifnode->in(1)->in(1) == use) { // Reprocess a CastII node that may depend on an // opaque node value when the opaque node is // removed. In case it carries a dependency we can do