# HG changeset patch # User roland # Date 1417103689 -3600 # Node ID 4c228230f1d67a4909bed84b676988912f75fc10 # Parent 5b8e0f84f00f705c20c8d8cada9d4e27ccc838d6 8066045: opto/node.hpp:355, assert(i < _max) failed: oob: i=1, _max=1 Summary: code in PhaseIterGVN::add_users_to_worklist() from 8054478 makes incorrect assumption about graph shape Reviewed-by: iveresov diff -r 5b8e0f84f00f -r 4c228230f1d6 src/share/vm/opto/phaseX.cpp --- a/src/share/vm/opto/phaseX.cpp Mon Dec 01 22:27:00 2014 +0100 +++ b/src/share/vm/opto/phaseX.cpp Thu Nov 27 16:54:49 2014 +0100 @@ -1379,7 +1379,7 @@ 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