Fri, 26 Oct 2012 11:48:04 -0700
8001635: assert(in_bb(n)) failed: must be
Summary: Added missed check that Load node is in processed loop block.
Reviewed-by: twisti
src/share/vm/opto/superword.cpp | file | annotate | diff | comparison | revisions |
1.1 --- a/src/share/vm/opto/superword.cpp Thu Oct 25 17:32:03 2012 -0700 1.2 +++ b/src/share/vm/opto/superword.cpp Fri Oct 26 11:48:04 2012 -0700 1.3 @@ -1809,7 +1809,7 @@ 1.4 const Type* vt = vtn; 1.5 if (VectorNode::is_shift(in)) { 1.6 Node* load = in->in(1); 1.7 - if (load->is_Load() && (velt_type(load)->basic_type() == T_INT)) { 1.8 + if (load->is_Load() && in_bb(load) && (velt_type(load)->basic_type() == T_INT)) { 1.9 vt = velt_type(load); 1.10 } else if (in->Opcode() != Op_LShiftI) { 1.11 // Widen type to Int to avoid creation of right shift vector