8001635: assert(in_bb(n)) failed: must be

Fri, 26 Oct 2012 11:48:04 -0700

author
kvn
date
Fri, 26 Oct 2012 11:48:04 -0700
changeset 4207
410afdc6a07c
parent 4206
006174cfe979
child 4208
588f08ed16cf

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

mercurial